/* Дополнения сайта к bundle.css дизайн-системы: то, что на холсте было задано инлайн-стилями.
   Значения — только токены из tokens.css. */

[hidden] { display: none !important; }
html { -webkit-text-size-adjust: 100%; }
button, input, textarea, select { font: inherit; }
button { -webkit-tap-highlight-color: transparent; touch-action: manipulation; }

/* Первый экран: карточка по центру (главная, «Заявка принята», 404) */
.pz-hero--center { justify-content: center; }

/* «Почему Пауза»: подсказка про свайп нужна только ленте на телефоне; на широком экране — 5 колонок, как на макете */
@media (min-width: 768px) { .pz-only-mobile { display: none; } }
@media (min-width: 1200px) { .pz-benefits { grid-template-columns: repeat(5, minmax(0, 1fr)); } }

.pz-empty-note { margin: 0 auto; max-width: 34ch; font: 400 16px/1.5 var(--font-sans); color: var(--ink-2); text-align: center; }

/* «В корзину» ↔ степпер в карточке */
.pz-qty .pz-stepper { width: 100%; }

/* Подвал */
p.pz-footer__row { margin: 0; }
.pz-footer__maps { display: flex; flex-wrap: wrap; gap: var(--space-8); margin-top: var(--space-8); }
.pz-footer__legal a { color: var(--ink-2); }

/* Иконка-плитка в пустом состоянии и значок успеха на «Заявка принята» */
.pz-empty__icon { display: inline-flex; align-items: center; justify-content: center; width: 56px; height: 56px; border-radius: var(--radius-md); background: var(--paper); box-shadow: var(--shadow-item); }
.pz-spot__badge { display: inline-flex; align-items: center; justify-content: center; width: 64px; height: 64px; margin-bottom: var(--space-4); border-radius: var(--radius-pill); background: var(--ok-soft); color: var(--ok); }
.pz-spot__badge .pz-icon { width: 32px; height: 32px; }

/* Корзина: позиция = фото 64 · название и цена · удалить; ниже степпер и сумма */
.pz-cart { display: grid; gap: var(--space-8); margin: 0; padding: 0; list-style: none; }
.pz-cart-item { display: grid; grid-template-columns: 64px minmax(0, 1fr) var(--tap-min); gap: var(--space-12); align-items: start; padding: var(--space-12); border-radius: var(--radius-lg); background: var(--paper); box-shadow: var(--shadow-item); }
.pz-cart-item__img { width: 64px; height: 64px; border-radius: var(--radius-sm); background: var(--surface-2); object-fit: cover; }
.pz-cart-item__info { display: flex; flex-direction: column; gap: 2px; min-width: 0; padding-top: var(--space-4); }
.pz-cart-item__name { margin: 0; font: 500 16px/1.3 var(--font-sans); letter-spacing: -0.01em; overflow-wrap: anywhere; }
.pz-cart-item__price { margin: 0; font: 500 13px/1.4 var(--font-sans); color: var(--ink-2); }
.pz-cart-item__remove { background: transparent; box-shadow: none; color: var(--ink-2); }
.pz-cart-item__row { grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; gap: var(--space-12); }
.pz-cart-item__row .pz-stepper { width: 148px; }
.pz-cart-item__sum { margin: 0; font: 600 20px/1.1 var(--font-display); letter-spacing: -0.01em; }
.pz-cart-total { display: grid; gap: var(--space-4); margin-top: var(--space-12); padding: var(--space-16) var(--space-20); border-radius: var(--radius-lg); background: var(--paper); box-shadow: var(--shadow-item); }
.pz-cart-total__row { display: flex; align-items: baseline; justify-content: space-between; gap: var(--space-12); }
.pz-cart-total__row p { margin: 0; font: 500 17px/1.3 var(--font-sans); }
.pz-cart-total__row .pz-cart-total__sum { font: 600 24px/1.1 var(--font-display); letter-spacing: -0.01em; }
.pz-cart-total__note { margin: 0; font: 500 13px/1.4 var(--font-sans); color: var(--ink-2); }

/* Форма заявки */
.pz-legend { margin-bottom: var(--space-8); }
.pz-chip--plain span { padding: 0 var(--space-16); }
.pz-consent { display: flex; align-items: flex-start; gap: var(--space-12); min-height: var(--tap-min); font: 400 15px/1.45 var(--font-sans); cursor: pointer; }
.pz-consent input { flex-shrink: 0; width: 22px; height: 22px; margin: 1px 0 0; accent-color: var(--accent); }
.pz-consent__policy { align-self: start; display: inline-flex; align-items: center; min-height: var(--tap-min); margin-left: 34px; font: 500 14px/1.4 var(--font-sans); color: var(--accent); }
.pz-field--error .pz-consent input { outline: 2px solid var(--danger); outline-offset: 2px; }
.pz-captcha:empty { display: none; }
.pz-hp { position: absolute; left: -10000px; width: 1px; height: 1px; opacity: 0; }

/* Каталог: чипы разделов (лента вбок) и заголовки разделов */
.pz-cat-nav { display: flex; gap: var(--space-8); margin: 0 calc(var(--space-20) * -1) var(--space-8); padding: var(--space-4) var(--space-20) var(--space-8); overflow-x: auto; scrollbar-width: none; }
.pz-cat-nav::-webkit-scrollbar { display: none; }
.pz-cat-nav a { display: inline-flex; align-items: center; flex-shrink: 0; min-height: var(--tap-min); padding: 0 var(--space-16); border-radius: var(--radius-pill); background: var(--paper); box-shadow: inset 0 0 0 1px var(--line); color: var(--ink); font: 500 15px/1 var(--font-sans); text-decoration: none; white-space: nowrap; }
.pz-cat-nav a[aria-current] { background: var(--accent); box-shadow: none; color: var(--paper); }
.pz-cat-title { margin: var(--space-24) 0 var(--space-12); font: 600 22px/1.2 var(--font-sans); letter-spacing: -0.01em; scroll-margin-top: var(--space-16); }
.pz-section--cta { display: flex; flex-direction: column; align-items: center; gap: var(--space-12); text-align: center; }
.pz-section--cta .pz-cat-title { margin: 0; }
@media (min-width: 768px) { .pz-section--cta .pz-btn--block { width: auto; min-width: 320px; } }

/* Фото любых пропорций режутся в квадрат 1:1, как в дизайне:
   атрибут height у <img> и растяжение во flex-ленте иначе перебивают aspect-ratio */
img.pz-card__img { height: auto; }
.pz-gallery__track { align-items: flex-start; }
.pz-gallery__track > * { height: auto; min-width: 0; width: 100%; }

/* Текстовые страницы (политика) */
.pz-prose p { margin: 0 auto var(--space-12); max-width: var(--measure); font: 400 16px/1.6 var(--font-sans); }
.pz-prose a { color: var(--accent); }

/* Шапка: логотип убран (владелец, 2026-09-29). На телефоне шапки нет совсем — разделы в таб-баре;
   на десктопе остаётся только меню разделов по центру. */
.pz-header { justify-content: center; }
@media (max-width: 1023.98px) {
  .pz-header { display: none; }
  .pz-header + .pz-main { padding-top: calc(var(--space-12) + env(safe-area-inset-top)); }
}

/* Шрифт легче, чем в дизайн-системе (владелец, 2026-09-29): элементы Onest на ступень тоньше,
   цены и заголовки разделов Rubik 800 → 600. Заголовок первого экрана и бренд в подвале — без изменений. */
.pz-btn, .pz-chip span, .pz-field__label, .pz-faq summary, .pz-messengers a, .pz-footer__title,
.pz-card__name, .pz-status, .pz-story-head, .pz-spot__sub, .pz-tabbar a, .pz-header__nav a { font-weight: 500; }
.pz-tabbar a[aria-current="page"], .pz-benefit__title, .pz-request__no, .pz-stepper input,
.pz-hero__sub, .pz-story-paused, .pz-specs dd { font-weight: 600; }
.pz-footer__row, .pz-footer__legal, .pz-field__hint, .pz-card__price small, .pz-sheet__price small { font-weight: 400; }
.pz-section__title, .pz-card__price, .pz-sheet__title, .pz-sheet__price, .pz-spot__title { font-weight: 600; }

/* Поле даты на iOS: у нативного date-инпута своя минимальная ширина — вылезал за контейнер */
.pz-input[type="date"], .pz-input[type="time"] { -webkit-appearance: none; appearance: none; display: block; width: 100%; min-width: 0; max-width: 100%; }
.pz-input::-webkit-date-and-time-value { text-align: left; }

/* Первый экран на десктопе: «Возьмите» кеглем 96px и две кнопки в ряд не помещались в 520px — карточка шире */
@media (min-width: 900px) { .pz-spot { max-width: 640px; } }

/* Срок аренды: дата + часовой интервал в одну строку (на узком экране — друг под другом) */
.pz-when { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: var(--space-8); }
@media (max-width: 359.98px) { .pz-when { grid-template-columns: minmax(0, 1fr); } }
.pz-when__label { margin: var(--space-16) 0 var(--space-8); }
.pz-when + .pz-field__hint { margin-top: var(--space-4); }
.pz-select { position: relative; display: block; min-width: 0; }
.pz-select select { -webkit-appearance: none; appearance: none; padding-right: 40px; cursor: pointer; }
.pz-select .pz-icon { position: absolute; top: 50%; right: var(--space-12); width: 20px; height: 20px; transform: translateY(-50%) rotate(90deg); color: var(--ink-2); pointer-events: none; }
.pz-field--error .pz-select select, .pz-field--error .pz-when input { box-shadow: inset 0 0 0 2px var(--danger); }

/* «Своё число» гостей */
.pz-guests-input { margin-top: var(--space-8); max-width: 200px; }

/* «Сколько гостей?» на главной: 4 пресета + «Своё число» (на телефоне — во всю ширину, на десктопе — пятая колонка) */
/* Диапазоны «20–50», «100–200» — одной строкой, поэтому кегль меньше, чем у одиночных чисел в дизайне */
.pz-preset__num { font-size: 28px; white-space: nowrap; }
.pz-preset--custom { grid-column: 1 / -1; min-height: 0; }
.pz-preset--custom .pz-preset__num { font-size: 26px; white-space: normal; }
@media (min-width: 900px) {
  .pz-presets { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: var(--space-16); }
  .pz-preset--custom { grid-column: auto; min-height: 220px; }
  .pz-preset__num, .pz-preset--custom .pz-preset__num { font-size: 36px; }
}

/* Фон едет вместе со страницей (владелец, 2026-09-29): в дизайн-системе слои фона и зерна fixed,
   здесь — растянуты на всю высоту страницы и прокручиваются с содержимым. */
.pz-page::before, .pz-page::after { position: absolute; }
html:has(.pz-page) { background: var(--bg-ice); }

/* Плавный переход между страницами (View Transitions между документами: Chrome 126+, Safari 18.2+).
   Страница мягко сменяется, таб-бар стоит на месте, а капсула активного пункта переезжает к новому пункту. */
@view-transition { navigation: auto; }
.pz-tabbar { view-transition-name: pz-tabbar; }
.pz-tabbar__pill { view-transition-name: pz-tabbar-pill; }
.pz-tabbar a:nth-of-type(1) { view-transition-name: pz-tab-1; }
.pz-tabbar a:nth-of-type(2) { view-transition-name: pz-tab-2; }
.pz-tabbar a:nth-of-type(3) { view-transition-name: pz-tab-3; }
.pz-tabbar a:nth-of-type(4) { view-transition-name: pz-tab-4; }
::view-transition-group(root) { animation-duration: .22s; }
::view-transition-group(pz-tabbar-pill) { animation-duration: .38s; animation-timing-function: cubic-bezier(.3, 1.25, .5, 1); }
@media (prefers-reduced-motion: reduce) {
  ::view-transition-group(*), ::view-transition-old(*), ::view-transition-new(*) { animation: none !important; }
}

/* Отзывы: пока нет опубликованных историй — информационные слайды на фирменном градиенте (каждый со своим участком фона) */
.pz-story-slide > .pz-story-stub { display: flex; flex-direction: column; justify-content: flex-end; gap: var(--space-12); padding: var(--space-64) var(--space-24) var(--space-48); background: var(--pz-bg-image, none) 50% calc(var(--stub, 0) * 45%) / 100% 260% no-repeat, linear-gradient(180deg, var(--bg-cornflower), var(--bg-lavender) 50%, var(--bg-pink)); color: var(--ink); }
.pz-story-stub__icon { display: inline-flex; align-items: center; justify-content: center; width: 64px; height: 64px; border-radius: var(--radius-lg); background: var(--glass); box-shadow: var(--shadow-glass); }
.pz-story-stub__icon .pz-icon { width: 40px; height: 40px; }
.pz-story-stub__title { margin: 0; font: 600 34px/1.05 var(--font-display); letter-spacing: -0.02em; }
.pz-story-stub__text { margin: 0; max-width: 26ch; font: 400 18px/1.45 var(--font-sans); }

/* Уведомление о cookie: стеклянная карточка над таб-баром (на десктопе — в правом нижнем углу) */
.pz-cookies { position: fixed; z-index: 40; left: var(--tabbar-inset); right: var(--tabbar-inset); bottom: calc(var(--dock-space) + var(--space-8)); max-width: 480px; margin: 0 auto; padding: var(--space-20); border-radius: var(--radius-xl); background: var(--glass); box-shadow: var(--shadow-glass); -webkit-backdrop-filter: blur(var(--glass-blur)); backdrop-filter: blur(var(--glass-blur)); color: var(--ink); max-height: calc(100svh - var(--dock-space) - var(--space-32)); overflow-y: auto; }
.pz-cookies__title { margin: 0 0 var(--space-8); font: 600 18px/1.25 var(--font-sans); }
.pz-cookies__text { margin: 0; font: 400 14px/1.45 var(--font-sans); color: var(--ink-2); }
.pz-cookies__text a { color: var(--accent); }
.pz-cookies__actions { display: flex; flex-wrap: wrap; gap: var(--space-8); margin-top: var(--space-16); }
.pz-cookies__actions .pz-btn { flex: 1 1 auto; }
@media (min-width: 1024px) { .pz-cookies { left: auto; right: var(--space-24); bottom: var(--space-24); margin: 0; } }
.pz-footer__link { padding: 0; border: 0; background: none; color: var(--ink-2); font: inherit; text-decoration: underline; cursor: pointer; }

/* ---------- Личный кабинет (дизайн «7. Мои заявки» и «7а. Вход») ---------- */
/* Кнопки входа — фирменные цвета VK ID и Яндекса по их брендбукам (не токены дизайн-системы) */
.pz-page { --vk-blue: #0077ff; --vk-blue-hover: #0068e0; --ya-red: #fc3f1d; --ya-on-red: #ffffff; --tg-blue: #2aabee; --tg-blue-hover: #229ed9; }
.pz-login-tg { background: var(--tg-blue); color: var(--paper); box-shadow: none; }
.pz-login-tg:hover { background: var(--tg-blue-hover); }
.pz-login-tg .pz-icon { width: 22px; height: 22px; }
.pz-login { display: grid; gap: var(--space-8); width: 100%; }
.pz-login-vk { background: var(--vk-blue); color: var(--paper); box-shadow: none; }
.pz-login-vk:hover { background: var(--vk-blue-hover); }
.pz-login-vk .pz-icon { width: 22px; height: 22px; }
.pz-login-ya__mark { display: inline-flex; align-items: center; justify-content: center; width: 22px; height: 22px; border-radius: var(--radius-pill); background: var(--ya-red); color: var(--ya-on-red); font: 700 14px/1 var(--font-sans); }
.pz-login__consent { margin: var(--space-4) 0 0; max-width: 34ch; font: 400 13px/1.4 var(--font-sans); color: var(--ink-2); }
.pz-login__consent a { color: var(--ink); }
.pz-login__divider { width: 100%; height: 1px; margin: var(--space-8) 0 var(--space-4); border: 0; background: var(--line); }
.pz-login__alt { margin: 0; font: 400 15px/1.5 var(--font-sans); color: var(--ink-2); }
.pz-login__error, .pz-login__note { margin: 0 0 var(--space-12); padding: var(--space-12) var(--space-16); border-radius: var(--radius-md); font: 500 14px/1.4 var(--font-sans); text-align: left; }
.pz-login__error { background: var(--danger-soft); color: var(--danger); }
.pz-login__note { background: var(--ok-soft); color: var(--ok); }

.pz-profile-card { display: flex; align-items: center; gap: var(--space-12); margin-bottom: var(--space-12); padding: var(--space-8) var(--space-8) var(--space-8) var(--space-12); border-radius: var(--radius-lg); background: var(--paper); box-shadow: var(--shadow-item); }
.pz-profile-card__avatar { display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; width: 40px; height: 40px; border-radius: var(--radius-pill); background: var(--surface-2); object-fit: cover; font: 600 17px/1 var(--font-sans); }
.pz-profile-card__who { display: flex; flex-direction: column; gap: 2px; flex-grow: 1; min-width: 0; color: var(--ink); text-decoration: none; }
.pz-profile-card__name { font: 600 16px/1.3 var(--font-sans); overflow-wrap: anywhere; }
.pz-profile-card__via { font: 400 13px/1.4 var(--font-sans); color: var(--ink-2); }
.pz-profile-card form { margin: 0; }

.pz-request__actions { display: flex; justify-content: flex-end; }
.pz-request__actions .pz-btn .pz-icon { width: 18px; height: 18px; }
.pz-account__links { flex-wrap: wrap; gap: var(--space-8); }

.pz-identities { display: grid; gap: var(--space-8); margin: 0 0 var(--space-16); padding: 0; list-style: none; }
.pz-identities li { display: flex; align-items: center; gap: var(--space-8); padding: var(--space-12) var(--space-16); border-radius: var(--radius-md); background: var(--paper); box-shadow: var(--shadow-item); font: 500 16px/1.3 var(--font-sans); }
.pz-identities li .pz-icon { color: var(--ok); }
.pz-identities li small { margin-left: auto; font: 400 13px/1.4 var(--font-sans); color: var(--ink-2); }
.pz-identities__lead { margin-top: 0; }

.pz-account-exit { display: grid; gap: var(--space-16); }
.pz-account-exit form { margin: 0; }
.pz-account-delete summary { cursor: pointer; font: 500 15px/1.4 var(--font-sans); color: var(--danger); text-align: center; }
.pz-account-delete p { margin: var(--space-12) 0; font: 400 14px/1.45 var(--font-sans); color: var(--ink-2); }
.pz-btn--danger { background: var(--danger); color: var(--paper); box-shadow: none; }

/* Длинные документы (политики, согласия): заголовки разделов, списки, таблица перечня cookie */
.pz-doc { text-align: left; }
.pz-doc .pz-section__title { font-size: 26px; }
.pz-doc__meta { color: var(--ink-2); text-align: center; }
.pz-doc h2 { margin: var(--space-32) auto var(--space-12); max-width: var(--measure); font: 600 20px/1.3 var(--font-sans); letter-spacing: -0.01em; }
.pz-doc h3 { margin: var(--space-20) auto var(--space-8); max-width: var(--measure); font: 600 17px/1.35 var(--font-sans); }
.pz-doc ul { margin: 0 auto var(--space-12); max-width: var(--measure); padding-left: var(--space-20); }
.pz-doc li { margin-bottom: var(--space-4); font: 400 16px/1.55 var(--font-sans); }
.pz-doc a { overflow-wrap: anywhere; }
.pz-doc__table { max-width: var(--measure); margin: 0 auto var(--space-16); overflow-x: auto; }
.pz-doc table { width: 100%; border-collapse: collapse; font: 400 14px/1.4 var(--font-sans); }
.pz-doc th, .pz-doc td { padding: var(--space-8); border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
.pz-doc th { font-weight: 600; }
@media (max-width: 599.98px) {
  .pz-doc table, .pz-doc tbody, .pz-doc tr, .pz-doc td { display: block; }
  .pz-doc thead { display: none; }
  .pz-doc tr { margin-bottom: var(--space-12); padding: var(--space-12); border-radius: var(--radius-md); background: var(--paper); box-shadow: var(--shadow-item); }
  .pz-doc td { padding: 2px 0; border: 0; }
  .pz-doc td::before { content: attr(data-th) ": "; font-weight: 600; }
}

/* Окно cookie: категории, переключатель аналитики, ссылки на документы, уведомление после сохранения */
.pz-cookies:focus { outline: none; }
.pz-cookies__note { margin: var(--space-8) 0 0; font: 400 13px/1.45 var(--font-sans); color: var(--ink-2); }
.pz-cookies__prefs { display: grid; gap: var(--space-12); margin-top: var(--space-12); }
.pz-cookies__cat { padding: var(--space-12) var(--space-16); border-radius: var(--radius-md); background: var(--paper); box-shadow: var(--shadow-item); }
.pz-cookies__cat p { margin: var(--space-4) 0 0; font: 400 13px/1.45 var(--font-sans); color: var(--ink-2); }
.pz-cookies__cat-head { display: flex; align-items: center; justify-content: space-between; gap: var(--space-12); min-height: var(--tap-min); font: 400 15px/1.3 var(--font-sans); cursor: pointer; }
.pz-cookies__cat-head b { font-weight: 600; }
.pz-cookies__always { font: 500 13px/1.3 var(--font-sans); color: var(--ok); }
.pz-cookies__links { margin: var(--space-12) 0 0; font: 400 13px/1.45 var(--font-sans); }
.pz-cookies__links a { color: var(--accent); }
.pz-switch { -webkit-appearance: none; appearance: none; position: relative; flex-shrink: 0; width: 52px; height: 32px; margin: 0; border-radius: var(--radius-pill); background: var(--surface-2); box-shadow: inset 0 0 0 1px var(--line); cursor: pointer; transition: background-color .2s ease; }
.pz-switch::after { content: ""; position: absolute; top: 3px; left: 3px; width: 26px; height: 26px; border-radius: var(--radius-pill); background: var(--paper); box-shadow: var(--shadow-item); transition: transform .2s ease; }
.pz-switch:checked { background: var(--ok); box-shadow: none; }
.pz-switch:checked::after { transform: translateX(20px); }
.pz-switch:focus-visible { outline: 2px solid var(--focus); outline-offset: 2px; }
@media (prefers-reduced-motion: reduce) { .pz-switch, .pz-switch::after { transition: none; } }
.pz-toast { position: fixed; z-index: 41; left: 50%; bottom: calc(var(--dock-space) + var(--space-8)); max-width: calc(100% - var(--space-32)); margin: 0; padding: var(--space-12) var(--space-20); border-radius: var(--radius-pill); background: var(--ink); color: var(--paper); font: 500 14px/1.3 var(--font-sans); transform: translateX(-50%); box-shadow: var(--shadow-glass); }
@media (min-width: 1024px) { .pz-toast { bottom: var(--space-24); } }
/* Кнопки окна cookie всегда видны: закреплены внизу, даже если текст настроек прокручивается */
.pz-cookies__actions { position: sticky; bottom: calc(var(--space-20) * -1); margin: var(--space-16) calc(var(--space-20) * -1) calc(var(--space-20) * -1); padding: var(--space-12) var(--space-20) var(--space-20); background: var(--surface); border-radius: 0 0 var(--radius-xl) var(--radius-xl); }

/* Как получить: доставка или самовывоз со скидкой. Самовывоз выделен — плашка «−10%» и экономия в рублях. */
.pz-delivery { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-8); }
.pz-delivery__opt { position: relative; display: block; cursor: pointer; }
.pz-delivery__opt input { position: absolute; opacity: 0; pointer-events: none; }
.pz-delivery__card { position: relative; display: flex; flex-direction: column; gap: var(--space-4); height: 100%; padding: var(--space-16) var(--space-12) var(--space-12); border-radius: var(--radius-lg); background: var(--paper); box-shadow: inset 0 0 0 1px var(--line); transition: box-shadow .15s ease, transform .15s ease; }
.pz-delivery__opt:active .pz-delivery__card { transform: scale(0.98); }
.pz-delivery__opt input:checked + .pz-delivery__card { box-shadow: inset 0 0 0 2px var(--accent); }
.pz-delivery__opt input:focus-visible + .pz-delivery__card { outline: 2px solid var(--focus); outline-offset: 2px; }
.pz-delivery__opt--save input:checked + .pz-delivery__card { box-shadow: inset 0 0 0 2px var(--ok); background: var(--ok-soft); }
.pz-delivery__icon { display: inline-flex; width: 40px; height: 40px; align-items: center; justify-content: center; border-radius: var(--radius-md); background: var(--surface-2); }
.pz-delivery__icon .pz-icon { width: 22px; height: 22px; }
.pz-delivery__title { font: 600 16px/1.25 var(--font-sans); }
.pz-delivery__text { font: 400 13px/1.35 var(--font-sans); color: var(--ink-2); }
.pz-delivery__badge { position: absolute; top: var(--space-8); right: var(--space-8); padding: 4px var(--space-8); border-radius: var(--radius-pill); background: var(--ok); color: var(--paper); font: 700 14px/1 var(--font-sans); }
.pz-delivery__save { margin-top: auto; padding-top: var(--space-4); font: 600 14px/1.3 var(--font-sans); color: var(--ok); }
@media (prefers-reduced-motion: reduce) { .pz-delivery__card { transition: none; } }

/* Итог корзины: старая сумма зачёркнута, новая — со скидкой, экономия зелёным; подсказка выбрать самовывоз */
.pz-cart-total__sums { display: flex; align-items: baseline; gap: var(--space-8); margin: 0; }
.pz-cart-total__old { font: 500 15px/1 var(--font-sans); color: var(--ink-2); }
.pz-cart-total--save .pz-cart-total__sum { color: var(--ok); }
.pz-cart-total__save { margin: 0; padding: var(--space-8) var(--space-12); border-radius: var(--radius-md); background: var(--ok-soft); color: var(--ok); font: 600 14px/1.3 var(--font-sans); }
.pz-cart-total__nudge { justify-self: start; min-height: var(--tap-min); margin: 0; padding: 0 var(--space-12); border: 0; border-radius: var(--radius-pill); background: var(--ok-soft); color: var(--ok); font: 600 14px/1.2 var(--font-sans); cursor: pointer; }

/* ---------- Оплата заявки (макеты «10», «10а», «10б») ---------- */
.pz-pay-order { margin-bottom: var(--space-16); }
.pz-pay-rows { display: grid; gap: var(--space-8); margin: var(--space-4) 0 0; padding: 0; list-style: none; }
.pz-pay-rows li { display: flex; justify-content: space-between; gap: var(--space-12); font: 400 15px/1.4 var(--font-sans); }
.pz-pay-rows b { font-weight: 500; white-space: nowrap; }
.pz-pay-rows__minus b { color: var(--ok); }
.pz-pay-total { display: flex; align-items: baseline; justify-content: space-between; gap: var(--space-12); padding-top: var(--space-12); border-top: 1px solid var(--line); font: 500 17px/1.3 var(--font-sans); }
.pz-pay-total b { font: 600 28px/1.1 var(--font-display); letter-spacing: -0.01em; }
.pz-pay-note { margin: 0; font: 400 13px/1.45 var(--font-sans); color: var(--ink-2); }
.pz-paymethods { display: grid; gap: var(--space-8); }
.pz-paymethods__group { margin: var(--space-8) 0 0; font: 500 13px/1.3 var(--font-sans); color: var(--ink-2); text-transform: uppercase; letter-spacing: 0.04em; }
.pz-paymethod { position: relative; display: block; cursor: pointer; }
.pz-paymethod input { position: absolute; opacity: 0; pointer-events: none; }
.pz-paymethod__card { display: grid; gap: 2px; padding: var(--space-16); border-radius: var(--radius-lg); background: var(--paper); box-shadow: var(--shadow-item); transition: box-shadow .15s ease; }
.pz-paymethod input:checked + .pz-paymethod__card { box-shadow: inset 0 0 0 2px var(--accent), var(--shadow-item); }
.pz-paymethod input:focus-visible + .pz-paymethod__card { outline: 2px solid var(--focus); outline-offset: 2px; }
.pz-paymethod__title { font: 600 16px/1.3 var(--font-sans); }
.pz-paymethod__text { font: 400 13px/1.4 var(--font-sans); color: var(--ink-2); }
.pz-paymethod__extra { display: grid; gap: var(--space-12); padding: var(--space-4) var(--space-4) 0; }
.pz-pay-hint { text-align: center; }
.pz-spot__badge--fail { background: var(--danger-soft); color: var(--danger); }
.pz-request__pay { display: flex; align-items: center; justify-content: space-between; gap: var(--space-8); }

/* Telegram Mini App: кнопка номера под полем телефона */
.pz-tg-phone { margin-top: var(--space-8); justify-self: start; }
.pz-tg-phone[hidden] { display: none; }
/* Мини-приложение ВК (vk.js): связь всегда «ВКонтакте» — выбор не показываем; блок «Войти как …» на странице входа */
.pz-vk [data-request-form] [data-field="contact_method"] { display: none; }
.pz-vk-login { margin-bottom: var(--space-16); text-align: left; }
.pz-vk-login[hidden] { display: none; }
.pz-vk-login a { color: var(--accent); }
.pz-vk-login [data-vk-enter] { max-width: 100%; min-width: 0; }
.pz-vk-login [data-vk-name] { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
/* Внутри ВК другие способы входа не работают (переход на VK ID / Яндекс из рамки ВК не откроется) — прячем */
.pz-vk .pz-spot .pz-login, .pz-vk .pz-spot .pz-login__consent { display: none; }
