/* ═══════════════════════════════════════════════════════════════════
   ICE LOGIX · Экраны нового дизайна (подключается после ice-redesign.css)
   Карточка товара, главная, страница товара, шапки, уведомления, шторки.
   ═══════════════════════════════════════════════════════════════════ */

/* ─── Деньги ─── */
.rd-money { display: inline-flex; align-items: baseline; gap: 0; white-space: nowrap; font-variant-numeric: tabular-nums; }
.rd-money .byn-sign { height: 0.82em; width: auto; margin-left: 0.16em; color: inherit !important; fill: currentColor !important; }

/* ─── Загрузка ─── */
.rd-shimmer { position: relative; overflow: hidden; background: var(--rd-s2); }
.rd-shimmer::after {
  content: ''; position: absolute; inset: 0; transform: translateX(-100%);
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.06), transparent);
  animation: rdShimmer 1.4s infinite;
}
@keyframes rdShimmer { to { transform: translateX(100%); } }
.rd-sk-line { height: 12px; border-radius: 6px; margin-top: 10px; }
.rd-sk-line.w60 { width: 60%; } .rd-sk-line.w90 { width: 90%; }

/* ─── Шапка экрана ─── */
.rd-head { display: flex; align-items: center; gap: 12px; margin: 4px 0 18px; }
.rd-back {
  width: 42px; height: 42px; flex-shrink: 0; border-radius: 14px;
  display: inline-flex; align-items: center; justify-content: center;
  background: var(--rd-s2); color: var(--rd-tx); border: 1px solid var(--rd-line); cursor: pointer;
}
.rd-back:active { transform: scale(0.94); }
.rd-head-txt { flex: 1; min-width: 0; }
.rd-head-title { margin: 0; font-size: 22px; font-weight: 800; letter-spacing: -0.02em; line-height: 1.15; color: var(--rd-tx); }
.rd-head-sub { margin: 3px 0 0; font-size: 13px; color: var(--rd-tx3); line-height: 1.35; }

/* ─── Уведомления ─── */
.rd-toast-host { position: fixed; left: 0; right: 0; top: calc(78px + env(safe-area-inset-top, 0px)); z-index: 9999; display: flex; flex-direction: column; align-items: center; gap: 8px; pointer-events: none; }
.rd-toast {
  display: inline-flex; align-items: center; gap: 10px; max-width: calc(100% - 32px);
  padding: 12px 16px; border-radius: 16px; font-size: 14px; font-weight: 600; color: var(--rd-tx);
  background: rgba(17, 25, 38, 0.92); border: 1px solid var(--rd-line-2);
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.5);
  -webkit-backdrop-filter: blur(20px); backdrop-filter: blur(20px);
  opacity: 0; transform: translateY(-10px) scale(0.98); transition: opacity .25s ease, transform .25s cubic-bezier(.16, 1, .3, 1);
}
.rd-toast.show { opacity: 1; transform: none; }
.rd-toast svg { flex-shrink: 0; color: var(--rd-ok); }
.rd-toast.bad svg { color: var(--rd-bad); }
.rd-toast.info svg { color: var(--rd-b400); }

/* ─── Шторка снизу ─── */
.rd-sheet-wrap { position: fixed; inset: 0; z-index: 9500; }
.rd-sheet-backdrop { position: absolute; inset: 0; background: rgba(2, 4, 8, 0.6); opacity: 0; transition: opacity .25s ease; }
.rd-sheet {
  position: absolute; left: 0; right: 0; bottom: 0; max-height: 86vh; overflow: auto;
  background: var(--rd-s1); border: 1px solid var(--rd-line-2); border-bottom: 0;
  border-radius: 24px 24px 0 0; padding: 8px 16px calc(20px + env(safe-area-inset-bottom, 0px));
  transform: translateY(100%); transition: transform .3s cubic-bezier(.16, 1, .3, 1);
}
.rd-sheet-wrap.show .rd-sheet-backdrop { opacity: 1; }
.rd-sheet-wrap.show .rd-sheet { transform: none; }
.rd-sheet-handle { width: 40px; height: 5px; border-radius: 3px; background: var(--rd-line-2); margin: 4px auto 10px; }
.rd-sheet-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 12px; }
.rd-sheet-head h3 { margin: 0; font-size: 19px; font-weight: 800; color: var(--rd-tx); }
.rd-sheet-x { width: 36px; height: 36px; border-radius: 12px; border: 0; background: var(--rd-s2); color: var(--rd-tx2); display: inline-flex; align-items: center; justify-content: center; }

/* ═══ Карточка товара ═══ */
.pc { position: relative; display: flex; flex-direction: column; min-width: 0; cursor: pointer; -webkit-tap-highlight-color: transparent; }
.pc:active .pc-media { transform: scale(0.985); }
.pc-media { position: relative; aspect-ratio: 3 / 4; border-radius: 16px; overflow: hidden; background: var(--rd-s2); transition: transform .15s ease; }
.pc-slider { display: flex; width: 100%; height: 100%; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
.pc-slider::-webkit-scrollbar { display: none; }
.pc-slide { flex: 0 0 100%; height: 100%; scroll-snap-align: start; }
.pc-slide img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pc-noimg { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; color: var(--rd-tx3); }
.pc-dots { position: absolute; left: 0; right: 0; bottom: 8px; display: flex; justify-content: center; gap: 4px; pointer-events: none; }
.pc-dots i { width: 5px; height: 5px; border-radius: 3px; background: rgba(255, 255, 255, 0.5); transition: width .2s ease, background .2s ease; }
.pc-dots i.on { width: 14px; background: #fff; }
.pc-fav {
  position: absolute; top: 8px; right: 8px; width: 34px; height: 34px; border-radius: 50%; border: 0; padding: 0;
  display: flex; align-items: center; justify-content: center; color: #fff;
  background: rgba(8, 13, 21, 0.5); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
}
.pc-fav svg, .pc-fav .ix svg { width: 18px; height: 18px; }
.pc-fav .ix { display: inline-flex; width: 18px; height: 18px; }
.pc-fav.text-red-500, .pd-round.text-red-500 { color: var(--rd-bad) !important; }
.pc-tag { position: absolute; top: 8px; left: 8px; height: 22px; padding: 0 8px; border-radius: 7px; background: var(--rd-blue); color: #fff; font-size: 11px; font-weight: 800; display: flex; align-items: center; letter-spacing: .02em; }
.pc-body { padding: 10px 2px 0; display: flex; flex-direction: column; gap: 4px; }
.pc-price { font-size: 17px; font-weight: 800; letter-spacing: -0.01em; color: var(--rd-tx); line-height: 1.15; }
.pc-ask { font-size: 14px; font-weight: 700; color: var(--rd-tx2); }
.pc-title { font-size: 13px; line-height: 1.3; color: var(--rd-tx2); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; min-height: 34px; }
.pc-title b { color: var(--rd-tx); font-weight: 700; }
.pc-meta { font-size: 11px; color: var(--rd-tx3); }
.pc-add {
  margin-top: 10px; height: 38px; border-radius: 11px; border: 0; cursor: pointer;
  background: var(--rd-tint); color: var(--rd-b300); font-size: 13px; font-weight: 700; font-family: inherit;
  display: inline-flex; align-items: center; justify-content: center; gap: 6px;
}
.pc-add:active { transform: scale(0.97); background: var(--rd-tint-2); }
.pc-skel .pc-media { background: var(--rd-s2); }

/* ═══ Главная ═══ */
.hm { display: block; }
.hm-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 12px; row-gap: 22px; }
.hm-grid-empty { grid-column: 1 / -1; }

/* ═══ Страница товара ═══ */
.pd { display: block; padding-bottom: 96px; }
.pd-media { position: relative; margin: 0 -16px; }
.pd-gallery { display: flex; aspect-ratio: 4 / 5; max-height: 62vh; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; background: var(--rd-s2); border-radius: 0 0 26px 26px; }
.pd-gallery::-webkit-scrollbar { display: none; }
.pd-noimg { align-items: center; justify-content: center; color: var(--rd-tx3); }
.pd-slide { flex: 0 0 100%; scroll-snap-align: start; cursor: zoom-in; }
.pd-slide img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pd-dots { position: absolute; left: 0; right: 0; bottom: 14px; display: flex; justify-content: center; gap: 5px; pointer-events: none; }
.pd-dots i { width: 6px; height: 6px; border-radius: 3px; background: rgba(255, 255, 255, 0.45); transition: width .2s ease; }
.pd-dots i.on { width: 18px; background: #fff; }
.pd-counter { position: absolute; right: 16px; bottom: 10px; height: 24px; padding: 0 9px; border-radius: 999px; font-size: 12px; font-weight: 700; color: #fff; background: rgba(8, 13, 21, 0.55); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); display: flex; align-items: center; }
.pd-round {
  width: 42px; height: 42px; border-radius: 50%; border: 0; padding: 0; color: #fff; cursor: pointer;
  display: inline-flex; align-items: center; justify-content: center;
  background: rgba(8, 13, 21, 0.5); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px);
}
.pd-round .ix, .pd-round .ix svg { width: 20px; height: 20px; display: inline-flex; }
.pd-back { position: absolute; top: 12px; left: 16px; }
.pd-actions { position: absolute; top: 12px; right: 16px; display: flex; gap: 8px; }
.pd-info { padding-top: 18px; }
.pd-price { color: var(--rd-tx); }
.pd-price .rd-price-big { font-size: 30px; }
.pd-price-note { margin-top: 4px; font-size: 13px; color: var(--rd-tx3); }
.pd-title { margin: 12px 0 0; font-size: 19px; font-weight: 600; line-height: 1.3; letter-spacing: -0.01em; color: var(--rd-tx); }
.pd-brand { display: block; font-size: 13px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; color: var(--rd-b300); margin-bottom: 4px; }
.pd-chips { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 14px; }
.pd-chips .rd-status svg { flex-shrink: 0; }
.pd-facts { margin-top: 18px; }
.pd-facts .rd-row { min-height: 64px; cursor: default; }
.pd-block { margin-top: 26px; }
.pd-h2 { margin: 0 0 12px; font-size: 19px; font-weight: 800; letter-spacing: -0.01em; color: var(--rd-tx); }
.pd-desc { margin: 0; font-size: 14px; line-height: 1.55; color: var(--rd-tx2); white-space: pre-line; display: -webkit-box; -webkit-line-clamp: 5; -webkit-box-orient: vertical; overflow: hidden; }
.pd-desc.open { -webkit-line-clamp: unset; display: block; }
.pd-steps { list-style: none; counter-reset: pd; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 14px; }
.pd-steps li { counter-increment: pd; position: relative; padding-left: 44px; min-height: 30px; }
.pd-steps li::before { content: counter(pd); position: absolute; left: 0; top: 0; width: 30px; height: 30px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: 800; font-size: 13px; color: var(--rd-b300); background: var(--rd-tint-2); }
.pd-steps b { display: block; font-size: 15px; color: var(--rd-tx); }
.pd-steps span { display: block; margin-top: 2px; font-size: 13px; color: var(--rd-tx2); }
.pd-similar { display: grid; grid-auto-flow: column; grid-auto-columns: 46%; gap: 12px; overflow-x: auto; scrollbar-width: none; margin: 0 -16px; padding: 0 16px 4px; scroll-snap-type: x proximity; }
.pd-similar::-webkit-scrollbar { display: none; }
.pd-similar .pc { scroll-snap-align: start; }
.pd-cta { gap: 8px; }
.pd-cta .rd-btn { height: 50px; }
.pd-cart-btn { flex: 1; }
.pd-buy-btn { flex: 1.15; }
.rd-btn.is-busy { opacity: .6; pointer-events: none; }

/* перебиваем старые размеры .addToCartBtn для карточек */
html body .pc .pc-add.addToCartBtn {
  width: 100% !important; padding: 0 !important; white-space: nowrap !important;
  background: var(--rd-tint) !important; color: var(--rd-b300) !important;
  border: 0 !important; border-radius: 11px !important; box-shadow: none !important; font-size: 13px !important;
}
html body .pc .pc-add.addToCartBtn:active { background: var(--rd-tint-2) !important; }
html body .pc .pc-add.addToCartBtn.added-anim { background: rgba(61, 214, 140, 0.16) !important; color: var(--rd-ok) !important; }

/* ═══ Корзина ═══ */
.ct-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.ct-bar { display: flex; align-items: center; justify-content: space-between; margin: 16px 0 12px; }
.ct-bar-actions { display: flex; gap: 4px; }
.ct-icon-btn { width: 40px; height: 40px; border-radius: 12px; border: 0; background: transparent; color: var(--rd-tx2); display: inline-flex; align-items: center; justify-content: center; cursor: pointer; }
.ct-icon-btn:active { background: var(--rd-s2); }
.ct-icon-btn.danger:active { color: var(--rd-bad); }
.ct-check { position: relative; display: inline-flex; align-items: center; gap: 10px; cursor: pointer; font-size: 15px; font-weight: 600; color: var(--rd-tx); user-select: none; }
.ct-check input { position: absolute; opacity: 0; width: 1px; height: 1px; pointer-events: none; }
.ct-box { width: 24px; height: 24px; flex-shrink: 0; border-radius: 8px; border: 1.5px solid var(--rd-line-2); background: transparent; display: inline-flex; align-items: center; justify-content: center; color: transparent; transition: background .15s ease, border-color .15s ease; }
.ct-check input:checked + .ct-box { background: var(--rd-blue); border-color: var(--rd-blue); color: #fff; }
.ct-check input:focus-visible + .ct-box { box-shadow: 0 0 0 3px var(--rd-tint-2); }

.ct-list { display: flex; flex-direction: column; gap: 10px; }
html body .ct-card {
  position: relative; display: grid; grid-template-columns: 24px 84px minmax(0, 1fr); gap: 12px; align-items: start;
  padding: 14px 14px 14px 12px !important; background: var(--rd-s1) !important; border: 1px solid var(--rd-line) !important; border-radius: 18px !important; box-shadow: none !important;
}
.ct-card .ct-check { margin-top: 2px; }
.ct-thumb { width: 84px; height: 104px; border-radius: 12px; overflow: hidden; background: var(--rd-s2); }
.ct-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ct-info { min-width: 0; display: flex; flex-direction: column; gap: 4px; padding-right: 26px; }
.ct-title { font-size: 14px; font-weight: 600; line-height: 1.3; color: var(--rd-tx); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.ct-variant { font-size: 12px; color: var(--rd-tx3); }
.ct-ship { display: inline-flex; align-items: center; gap: 5px; font-size: 12px; color: var(--rd-ok); }
.ct-bottom { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: 6px; }
html body .ct-price.wb-current-price { font-size: 17px !important; font-weight: 800; color: var(--rd-tx) !important; font-variant-numeric: tabular-nums; white-space: nowrap; display: inline-flex; align-items: baseline; }
.ct-price .byn-sign { height: 0.82em; width: auto; margin-left: .16em; }
html body .ct-stepper.wb-stepper { display: inline-flex; align-items: center; height: 34px; padding: 0; border-radius: 11px !important; background: var(--rd-s2) !important; border: 1px solid var(--rd-line) !important; }
html body .ct-stepper .wb-stepper-btn { width: 34px; height: 34px; border: 0; background: transparent !important; color: var(--rd-tx2) !important; display: inline-flex; align-items: center; justify-content: center; padding: 0; }
html body .ct-stepper .wb-step-inc { color: var(--rd-b400) !important; }
html body .ct-stepper .wb-qty-val { min-width: 20px; text-align: center; font-weight: 700; font-size: 14px; color: var(--rd-tx); }
html body .ct-buy.wb-buy-item-btn { align-self: flex-start; margin-top: 6px; height: auto; padding: 0 !important; background: none !important; color: var(--rd-b400) !important; font-size: 13px; font-weight: 600; border: 0 !important; }
.ct-more { position: absolute; top: 10px; right: 8px; width: 34px; height: 34px; border-radius: 10px; border: 0; background: transparent; color: var(--rd-tx3); display: inline-flex; align-items: center; justify-content: center; }

.ct-sum { margin-top: 16px; padding: 16px; display: flex; flex-direction: column; gap: 10px; }
.ct-sum-row { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; font-size: 14px; color: var(--rd-tx2); }
.ct-sum-row span:last-child { display: inline-flex; align-items: baseline; font-variant-numeric: tabular-nums; color: var(--rd-tx); }
.ct-sum-row .byn-sign { height: .82em; width: auto; margin-left: .16em; }
.ct-muted { color: var(--rd-tx3) !important; }
.ct-sum-line { height: 1px; background: var(--rd-line); }
.ct-sum-total { font-size: 17px; font-weight: 800; color: var(--rd-tx); }
.ct-hint { display: flex; gap: 10px; align-items: flex-start; margin-top: 12px; padding: 12px 14px; border-radius: 14px; background: var(--rd-tint); color: var(--rd-b300); font-size: 13px; line-height: 1.4; }
.ct-hint svg { flex-shrink: 0; margin-top: 1px; }

/* плавающая кнопка заказа корзины */
html body .wb-sticky-dock {
  left: 12px !important; right: 12px !important; bottom: calc(92px + env(safe-area-inset-bottom, 0px)) !important; width: auto !important;
  padding: 8px !important; border-radius: 22px !important;
  background: var(--rd-glass-bg) !important; border: 1px solid var(--rd-glass-line) !important; box-shadow: var(--rd-glass-shadow) !important;
  -webkit-backdrop-filter: blur(24px) saturate(180%) !important; backdrop-filter: blur(24px) saturate(180%) !important;
}
html body .wb-sticky-content { padding: 0 !important; background: none !important; border: 0 !important; }
html body .wb-checkout-cta {
  width: 100%; height: 52px !important; border-radius: 15px !important; border: 0 !important;
  display: flex !important; align-items: center; justify-content: center; gap: 8px;
  font-size: 16px !important; font-weight: 700 !important; box-shadow: none !important;
}
html body .wb-checkout-cta.active { background: var(--rd-blue) !important; color: #fff !important; }
html body .wb-checkout-cta.disabled { background: var(--rd-s3) !important; color: var(--rd-tx3) !important; }
html body .wb-checkout-cta .byn-sign { height: .82em; width: auto; margin-left: .16em; color: inherit !important; }
.wb-cta-dot { opacity: .5; }
html body .wb-cart-screen { padding-bottom: calc(120px + var(--tg-viewport-safe-area-inset-bottom, env(safe-area-inset-bottom, 0px))) !important; }
html body .pc .pc-add.addToCartBtn { max-width: none !important; }

/* ═══ Профиль ═══ */
.pf { display: block; }
.pf-hero { display: flex; flex-direction: column; align-items: center; text-align: center; padding: 6px 0 4px; }
.pf-ava-wrap { position: relative; width: 92px; height: 92px; }
.pf-ava {
  width: 92px; height: 92px; border-radius: 50%; overflow: hidden;
  display: flex; align-items: center; justify-content: center; font-size: 34px; font-weight: 800; color: #fff;
  background: linear-gradient(145deg, #2F86F5, #1650B8);
  box-shadow: 0 0 0 3px var(--rd-bg), 0 0 0 5px rgba(77, 163, 255, 0.35), 0 16px 34px rgba(0, 0, 0, 0.5);
}
.pf-ava img { width: 100%; height: 100%; object-fit: cover; display: block; }
html body .pf-ava-btn {
  position: absolute; right: -2px; bottom: -2px; width: 32px; height: 32px; border-radius: 50%; padding: 0;
  display: flex; align-items: center; justify-content: center; color: #fff;
  background: var(--rd-blue) !important; border: 3px solid var(--rd-bg) !important;
}
.pf-name-row { display: flex; align-items: center; gap: 6px; margin-top: 14px; }
.pf-name { margin: 0; font-size: 24px; font-weight: 800; letter-spacing: -0.02em; color: var(--rd-tx); }
.pf-edit { width: 30px; height: 30px; border-radius: 10px; border: 0; background: var(--rd-s2); color: var(--rd-tx2); display: inline-flex; align-items: center; justify-content: center; }
.pf-kyc { margin-top: 10px; border: 0; cursor: pointer; height: 30px !important; padding: 0 12px !important; font-family: inherit; }

.pf-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin-top: 20px; }
.pf-stat {
  display: flex; flex-direction: column; align-items: flex-start; gap: 6px; padding: 12px; min-width: 0;
  background: var(--rd-s1); border: 1px solid var(--rd-line); border-radius: 18px; color: var(--rd-tx); cursor: pointer; text-align: left; font-family: inherit;
}
.pf-stat:active { transform: scale(0.97); background: var(--rd-s2); }
.pf-stat-k { display: inline-flex; align-items: center; gap: 5px; font-size: 12px; font-weight: 600; color: var(--rd-tx3); }
.pf-stat-k svg { color: var(--rd-b400); }
.pf-stat-v { font-size: 20px; font-weight: 800; letter-spacing: -0.02em; font-variant-numeric: tabular-nums; max-width: 100%; overflow: hidden; text-overflow: ellipsis; }
.pf-stat-a { font-size: 12px; font-weight: 700; color: var(--rd-b400); }
.pf-group-t { margin: 22px 4px 8px; font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--rd-tx3); }
.pf .rd-row-title .rd-badge { margin-left: 2px; }
.pf-foot { margin: 22px 0 4px; text-align: center; font-size: 12px; color: var(--rd-tx3); }

/* ═══ Единая шапка вложенных экранов (старая разметка: .global-back-btn + заголовок) ═══ */
html body .global-back-btn {
  width: 42px !important; height: 42px !important; min-width: 42px; padding: 0 !important;
  border-radius: 14px !important; display: inline-flex !important; align-items: center; justify-content: center;
  background: var(--rd-s2) !important; border: 1px solid var(--rd-line) !important; color: var(--rd-tx) !important;
}
html body .global-back-btn svg { width: 22px; height: 22px; stroke-width: 2.2; }
html body .global-back-btn + div h2, html body .global-back-btn + div h3,
html body .global-back-btn ~ .flex-1 h2, html body .global-back-btn ~ .flex-1 h3 {
  font-size: 22px !important; font-weight: 800 !important; letter-spacing: -0.02em !important; line-height: 1.15 !important; color: var(--rd-tx) !important;
}
html body .global-back-btn + div p, html body .global-back-btn ~ .flex-1 > p {
  font-size: 13px !important; color: var(--rd-tx3) !important; margin-top: 3px;
}
/* «Назад» с текстом (старые экраны) выглядит так же, как круглая кнопка с подписью */
html body button.global-back-btn:has(span), html body button.global-back-btn:not(:has(svg)) { width: auto !important; padding: 0 14px !important; gap: 6px; font-weight: 600; }

/* ═══ Площадки ═══ */
.mp-list { display: flex; flex-direction: column; gap: 12px; }
.mp-card { padding: 16px; background: var(--rd-s1); border: 1px solid var(--rd-line); border-radius: var(--rd-r22, 22px); }
.mp-top { display: flex; gap: 14px; align-items: center; }
.mp-logo { width: 64px; height: 64px; flex-shrink: 0; display: flex; align-items: center; justify-content: center; color: var(--rd-tx3); }
.mp-logo img { width: 100%; height: 100%; object-fit: cover; display: block; border-radius: 16px; }
.mp-info { min-width: 0; flex: 1; }
.mp-name { font-size: 19px; font-weight: 800; color: var(--rd-tx); }
.mp-desc { margin: 4px 0 0; font-size: 13px; line-height: 1.4; color: var(--rd-tx2); }
.mp-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 14px; }
.mp-tags .rd-status { height: 24px; font-size: 11px; }
.mp-facts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-top: 14px; }
.mp-stat { display: flex; flex-direction: column; gap: 4px; padding: 10px 10px 11px; background: var(--rd-s2); border-radius: var(--rd-r16, 16px); min-width: 0; }
.mp-stat-l { font-size: 10px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--rd-tx3); }
.mp-stat-v { display: flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 700; color: var(--rd-tx); white-space: nowrap; }
.mp-stat.warn .mp-stat-v { color: var(--rd-warn, #f5b84a); }
.mp-dots { display: inline-flex; gap: 3px; flex-shrink: 0; }
.mp-dots i { flex-shrink: 0; width: 6px; height: 6px; border-radius: 50%; background: var(--rd-s3); }
.mp-dots i.on { background: var(--rd-b300); }
.mp-hero { display: flex; align-items: center; gap: 12px; padding: 14px 16px; margin-bottom: 12px; background: var(--rd-tint); border: 1px solid var(--rd-line); border-radius: var(--rd-r22, 22px); }
.mp-hero-t { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.mp-hero-t b { font-size: 14px; color: var(--rd-tx); }
.mp-hero-t span { font-size: 12px; line-height: 1.4; color: var(--rd-tx2); }
.mp-hero .rd-btn { flex-shrink: 0; gap: 6px; }
.mp-actions { display: grid; grid-template-columns: 1.4fr 1fr; gap: 8px; margin-top: 14px; }
.mp-actions .rd-btn { height: 42px; font-size: 13px; gap: 6px; }
.mp-how .mp-facts { margin-top: 16px; }
.mp-steps { list-style: none; margin: 18px 0 0; padding: 0; display: flex; flex-direction: column; gap: 14px; position: relative; }
.mp-steps li { display: flex; gap: 12px; align-items: flex-start; position: relative; }
.mp-steps li:not(:last-child)::after { content: ''; position: absolute; left: 13px; top: 30px; bottom: -12px; width: 2px; background: var(--rd-line); }
.mp-step-n { width: 28px; height: 28px; flex-shrink: 0; border-radius: 50%; background: var(--rd-tint); color: var(--rd-b300); font-size: 13px; font-weight: 800; display: flex; align-items: center; justify-content: center; }
.mp-step-t { font-size: 14px; line-height: 1.45; color: var(--rd-tx); padding-top: 4px; }
.mp-note { margin: 16px 0 0; padding: 12px; background: var(--rd-s2); border-radius: var(--rd-r16, 16px); font-size: 13px; line-height: 1.45; color: var(--rd-tx2); white-space: pre-line; }
.mp-how-actions { display: flex; flex-direction: column; gap: 8px; margin-top: 20px; }
/* Мастер «Скачать приложение» */
.mp-wiz { display: flex; flex-direction: column; gap: 12px; padding-bottom: 8px; }
.mp-prog { display: grid; grid-template-columns: repeat(5, 1fr); gap: 6px; }
.mp-prog i { height: 4px; border-radius: 2px; background: var(--rd-s3); }
.mp-prog i.done, .mp-prog i.on { background: var(--rd-accent, #2f7bff); }
.mp-prog i.on { opacity: .55; }
.mp-prog-l { margin: 0; font-size: 12px; color: var(--rd-tx2); }
.mp-wiz-h { margin: 4px 0 0; font-size: 18px; font-weight: 700; color: var(--rd-tx); }
.mp-wiz-p { margin: 0; font-size: 14px; line-height: 1.5; color: var(--rd-tx2); }
.mp-wiz-p b { color: var(--rd-tx); font-weight: 600; }
.mp-wiz .mp-note { margin: 0; display: flex; gap: 8px; align-items: flex-start; }
.mp-wiz .mp-steps { margin: 4px 0 0; }
.mp-dev { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; padding: 4px; background: var(--rd-s2); border-radius: 14px; }
.mp-dev button { height: 38px; border: 0; border-radius: 10px; background: transparent; color: var(--rd-tx2); font-size: 14px; font-weight: 600; }
.mp-dev button.on { background: var(--rd-s3); color: var(--rd-tx); }
.mp-fold { background: var(--rd-s2); border-radius: var(--rd-r16, 16px); padding: 12px 14px; }
.mp-fold summary { font-size: 14px; font-weight: 600; color: var(--rd-tx); cursor: pointer; }
.mp-mini { margin: 10px 0 0; padding-left: 18px; display: flex; flex-direction: column; gap: 8px; font-size: 13px; line-height: 1.45; color: var(--rd-tx2); }

/* ═══ Диалоги (glassModal: alert / confirm / popup) ═══ */
html body .glass-modal-overlay { background: rgba(2, 4, 8, 0.66) !important; -webkit-backdrop-filter: blur(4px) !important; backdrop-filter: blur(4px) !important; }
html body .glass-modal { max-width: 360px !important; padding: 24px 20px 18px !important; text-align: center; }
html body .glass-modal-header { flex-direction: column !important; align-items: center !important; gap: 12px !important; }
html body .glass-modal-icon {
  width: 56px !important; height: 56px !important; border-radius: 18px !important; border: 0 !important; box-shadow: none !important;
  background: var(--rd-tint) !important; color: var(--rd-b400) !important; display: flex; align-items: center; justify-content: center;
}
html body .glass-modal-icon.success { background: rgba(61, 214, 140, 0.14) !important; color: var(--rd-ok) !important; }
html body .glass-modal-icon.warning { background: rgba(255, 194, 74, 0.14) !important; color: var(--rd-warn) !important; }
html body .glass-modal-icon.error { background: rgba(255, 107, 122, 0.14) !important; color: var(--rd-bad) !important; }
html body .glass-modal-title { font-size: 19px !important; font-weight: 800 !important; letter-spacing: -0.01em; color: var(--rd-tx) !important; text-align: center; }
html body .glass-modal-body { margin-top: 8px !important; font-size: 14px !important; line-height: 1.5 !important; color: var(--rd-tx2) !important; text-align: center; white-space: pre-line; }
html body .glass-modal-footer { display: flex !important; flex-direction: column-reverse; gap: 8px !important; margin-top: 20px !important; }
html body .glass-modal-btn {
  width: 100%; height: 48px !important; border-radius: 14px !important; font-size: 15px !important; font-weight: 700 !important;
  background: var(--rd-s2) !important; color: var(--rd-tx) !important; border: 1px solid var(--rd-line-2) !important; box-shadow: none !important;
}
html body .glass-modal-btn.primary { background: var(--rd-blue) !important; color: #fff !important; border: 0 !important; }
html body .glass-modal-btn.danger { background: rgba(255, 107, 122, 0.14) !important; color: var(--rd-bad) !important; border: 0 !important; }
html body .glass-modal-btn.ghost { background: transparent !important; color: var(--rd-tx2) !important; border: 0 !important; }

/* ═══ Окно входа ═══ */
html body #authPageOverlay { background: rgba(2, 4, 8, 0.82) !important; }
html body #authPageOverlay > div {
  background: var(--rd-s1) !important; border: 1px solid var(--rd-line-2) !important; border-radius: 26px !important;
  box-shadow: 0 30px 80px rgba(0, 0, 0, 0.6) !important; padding: 24px 20px !important;
}
html body #authPageOverlay .auth-logo { width: 84px; height: auto; display: block; margin: 0 auto 10px; filter: drop-shadow(0 10px 24px rgba(31, 111, 224, 0.35)); }
html body #authPageOverlay h2 { font-size: 24px !important; font-weight: 800 !important; letter-spacing: -0.02em; }
html body #authPageOverlay #authTabLogin, html body #authPageOverlay #authTabRegister,
html body #authPageOverlay #methodTabEmail, html body #authPageOverlay #methodTabPhone {
  height: 40px; border-radius: 10px !important; font-size: 13px !important; background: transparent !important; color: var(--rd-tx3) !important; border: 0 !important; box-shadow: none !important;
}
html body #authPageOverlay #authTabLogin[style*="gradient"], html body #authPageOverlay #authTabRegister[style*="gradient"],
html body #authPageOverlay #methodTabEmail.bg-white\/10, html body #authPageOverlay #methodTabPhone.bg-white\/10 {
  background: var(--rd-blue) !important; color: #fff !important;
}
html body #authPageOverlay #authEmailSubmitBtn, html body #authPageOverlay #authPhoneSendCodeBtn,
html body #authPageOverlay button[id$="SubmitBtn"], html body #authPageOverlay button[id$="VerifyBtn"] {
  height: 50px; background: var(--rd-blue) !important; color: #fff !important; border-radius: 14px !important; font-size: 15px !important; box-shadow: none !important;
}
html body #authPageOverlay label { color: var(--rd-tx2) !important; font-size: 13px !important; }
html body #authPageOverlay input { height: 50px; font-size: 16px !important; padding: 0 14px !important; }
html body #authPageOverlay #authSocialTg, html body #authPageOverlay #authSocialGoogle, html body #authPageOverlay #authSocialApple {
  width: 56px !important; height: 52px !important; border-radius: 14px !important; background: var(--rd-s2) !important; border: 1px solid var(--rd-line-2) !important;
}

/* ═══ Мои заказы ═══ */
.oc-list { display: flex; flex-direction: column; gap: 12px; }
html body .oc.glass-card { padding: 14px !important; border-radius: 20px !important; }
.oc-head { display: flex; align-items: center; gap: 12px; }
.oc-thumb { position: relative; width: 52px; height: 52px; flex-shrink: 0; border-radius: 14px; overflow: hidden; background: var(--rd-s2); color: var(--rd-tx3); display: flex; align-items: center; justify-content: center; }
.oc-thumb img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.oc-hinfo { flex: 1; min-width: 0; }
.oc-title { font-size: 15px; font-weight: 700; color: var(--rd-tx); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.oc-sub { margin-top: 2px; font-size: 12px; color: var(--rd-tx3); font-variant-numeric: tabular-nums; }
.oc-st { flex-shrink: 0; max-width: 42%; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; display: inline-block !important; line-height: 24px; }

.oc-track { position: relative; margin: 16px 2px 0; }
.oc-track-line { position: absolute; left: 8px; right: 8px; top: 7px; height: 3px; border-radius: 2px; background: var(--rd-line-2); }
.oc-track-line i { position: absolute; left: 0; top: 0; bottom: 0; width: calc(var(--p) * 100%); border-radius: 2px; background: linear-gradient(90deg, var(--rd-blue), var(--rd-b400)); }
.oc-nodes { position: relative; display: flex; justify-content: space-between; }
.oc-nodes span { display: flex; flex-direction: column; align-items: center; gap: 6px; width: 16.66%; font-size: 10px; font-weight: 600; color: var(--rd-tx3); text-align: center; }
.oc-nodes span:first-child { align-items: flex-start; text-align: left; }
.oc-nodes span:last-child { align-items: flex-end; text-align: right; }
.oc-nodes b { width: 17px; height: 17px; border-radius: 50%; background: var(--rd-s1); border: 2px solid var(--rd-line-2); }
.oc-nodes span.done b { background: var(--rd-blue); border-color: var(--rd-blue); }
.oc-nodes span.done { color: var(--rd-tx2); }
.oc-nodes span.now b { background: var(--rd-bg); border: 4px solid var(--rd-b400); box-shadow: 0 0 0 4px var(--rd-tint); }
.oc-nodes span.now { color: var(--rd-b300); font-weight: 800; }
.oc-eta { display: flex; align-items: center; gap: 6px; margin-top: 12px; font-size: 13px; color: var(--rd-tx2); }
.oc-eta svg { color: var(--rd-b400); flex-shrink: 0; }

.oc-money { margin-top: 14px; padding: 12px; border-radius: 14px; background: var(--rd-s2); display: flex; flex-direction: column; gap: 8px; }
.oc-money > div { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; font-size: 13px; color: var(--rd-tx2); }
.oc-money > div > .rd-money { color: var(--rd-tx); font-weight: 700; }
.oc-money > div:first-child { font-size: 14px; }
.oc-money > div:first-child > .rd-money { font-weight: 800; font-size: 15px; }
.oc-money em { font-style: normal; font-size: 11px; font-weight: 700; padding: 1px 7px; border-radius: 999px; margin-left: 4px; background: var(--rd-s3); color: var(--rd-tx3); }
.oc-money em.ok { background: rgba(61, 214, 140, 0.13); color: var(--rd-ok); }
.oc-money em.warn { background: rgba(255, 194, 74, 0.13); color: var(--rd-warn); }
.oc-pay { margin-top: 10px; }
.oc-gift { margin-top: 14px; }
.oc-gift summary { list-style: none; display: flex; align-items: center; gap: 8px; padding: 12px; border-radius: 14px; background: var(--rd-tint); color: var(--rd-b300); font-size: 13px; font-weight: 700; cursor: pointer; }
.oc-gift summary::-webkit-details-marker { display: none; }

.oc-alert { margin-top: 12px; padding: 12px; border-radius: 14px; background: var(--rd-tint); color: var(--rd-tx2); font-size: 13px; line-height: 1.45; }
.oc-alert p { margin: 4px 0 0; }
.oc-alert-t { display: flex; align-items: center; gap: 8px; font-weight: 700; color: var(--rd-b300); }
.oc-alert.warn { background: rgba(255, 194, 74, 0.1); } .oc-alert.warn .oc-alert-t { color: var(--rd-warn); }
.oc-alert.ok { background: rgba(61, 214, 140, 0.1); } .oc-alert.ok .oc-alert-t { color: var(--rd-ok); }
.oc-alert.bad { background: rgba(255, 107, 122, 0.1); } .oc-alert.bad .oc-alert-t { color: var(--rd-bad); }
.oc-alert-btns { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 10px; }
.oc-alert .rd-btn { margin-top: 8px; }

.oc-tracks { margin-top: 12px; display: flex; flex-direction: column; gap: 6px; }
.oc-trackno { display: flex; align-items: center; gap: 8px; width: 100%; padding: 10px 12px; border-radius: 12px; border: 1px solid var(--rd-line); background: transparent; color: var(--rd-tx2); font-size: 12px; font-family: inherit; cursor: pointer; text-align: left; }
.oc-trackno span { flex-shrink: 0; }
.oc-trackno b { flex: 1; min-width: 0; color: var(--rd-tx); font-weight: 700; font-size: 13px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-variant-numeric: tabular-nums; }
.oc-trackno svg { color: var(--rd-b400); flex-shrink: 0; }

.oc-photos-t { display: flex; align-items: center; gap: 6px; margin-top: 14px; font-size: 13px; font-weight: 700; color: var(--rd-tx2); }
.oc-photos-t svg { color: var(--rd-b400); }
.oc-photos { display: flex; gap: 8px; overflow-x: auto; scrollbar-width: none; margin-top: 8px; }
.oc-photos img { width: 72px; height: 72px; flex-shrink: 0; border-radius: 12px; object-fit: cover; cursor: zoom-in; }

.oc-actions { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; margin-top: 14px; }
.oc-act { display: flex; flex-direction: column; align-items: center; gap: 5px; padding: 10px 4px; border-radius: 14px; border: 0; background: var(--rd-s2); color: var(--rd-tx); font-size: 11px; font-weight: 600; font-family: inherit; cursor: pointer; }
.oc-act svg { color: var(--rd-b400); }
.oc-act:active { transform: scale(0.96); }
.oc-resale { margin-top: 8px; height: 44px; font-size: 14px; }
.oc-title { white-space: normal !important; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; line-height: 1.3; }
.oc-sub { display: flex; align-items: center; flex-wrap: wrap; gap: 6px 8px; margin-top: 6px !important; }
.oc-sub .oc-st { max-width: none; height: 22px !important; line-height: 22px; font-size: 11px !important; padding: 0 8px !important; }

/* ═══ Нижнее меню: «Расчёт» — приподнятая круглая кнопка, не путается с выбранным пунктом ═══ */
html body .tab-item.center-calc-tab { color: var(--rd-tx3) !important; justify-content: flex-end !important; padding-bottom: 6px !important; }
html body .tab-item.center-calc-tab.active { color: var(--rd-b300) !important; }
html body .tab-item.center-calc-tab .tab-icon {
  width: 50px !important; height: 50px !important; border-radius: 18px !important;
  margin-top: -26px; margin-bottom: 1px;
  background: radial-gradient(120% 120% at 30% 15%, #5AA8FF 0%, #2F86F5 38%, #1650B8 100%) !important;
  color: #fff !important;
  box-shadow: 0 0 0 4px rgba(8, 12, 20, 0.92), 0 10px 22px rgba(31, 111, 224, 0.5), inset 0 1px 0 rgba(255, 255, 255, 0.35), inset 0 -3px 8px rgba(0, 20, 60, 0.35) !important;
  transition: transform .18s cubic-bezier(.3,1.4,.5,1) !important;
}
html body .tab-item.center-calc-tab .tab-icon svg { width: 26px; height: 26px; }
html body .tab-item.center-calc-tab:active .tab-icon { transform: scale(0.92) !important; }
html body .tab-item.center-calc-tab.active .tab-icon { box-shadow: 0 0 0 4px rgba(8, 12, 20, 0.92), 0 0 0 6px rgba(77, 163, 255, 0.35), 0 10px 22px rgba(31, 111, 224, 0.55), inset 0 1px 0 rgba(255, 255, 255, 0.35) !important; }
html body .tab-item { transition: color .2s ease !important; }
html body .tab-item:not(.center-calc-tab):active .tab-icon { transform: scale(0.9) !important; transition: transform .1s ease; }

/* ═══ История ═══ */
.hs-tabs { margin-bottom: 16px; }
.hs-chip { display: inline-flex; align-items: center; gap: 6px; height: 38px; padding: 0 14px; }
.hs-chip svg { width: 16px; height: 16px; opacity: .9; }
.hs-list { display: flex; flex-direction: column; gap: 10px; }
.hs-card { display: flex; gap: 12px; padding: 14px; background: var(--rd-s1); border: 1px solid var(--rd-line); border-radius: 18px; }
.hs-card.hs-col { flex-direction: column; gap: 10px; }
.hs-thumb { position: relative; flex-shrink: 0; width: 60px; height: 60px; border-radius: 14px; background: var(--rd-s2); color: var(--rd-tx3); display: flex; align-items: center; justify-content: center; overflow: hidden; }
.hs-thumb img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: 1; }
.hs-body { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.hs-title { font-size: 15px; font-weight: 700; color: var(--rd-tx); line-height: 1.3; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.hs-sub { font-size: 12.5px; color: var(--rd-tx3); line-height: 1.35; }
.hs-foot { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: 6px; }
.hs-sum { font-size: 16px; font-weight: 800; color: var(--rd-tx); font-variant-numeric: tabular-nums; }
.hs-acts { display: inline-flex; align-items: center; gap: 6px; }
.hs-acts .rd-btn { gap: 6px; }
.hs-del { width: 36px; height: 36px; border-radius: 10px; border: 0; background: rgba(255, 107, 122, 0.1); color: var(--rd-bad); display: inline-flex; align-items: center; justify-content: center; cursor: pointer; }
.hs-row-top { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.hs-text { margin: 0; font-size: 14px; line-height: 1.5; color: var(--rd-tx2); }
.hs-stars { display: inline-flex; gap: 2px; }
.hs-star { color: var(--rd-line-2); display: inline-flex; }
.hs-star.on { color: var(--rd-warn); }
.hs-star.on svg { fill: currentColor; }
.hs-thumbs { display: flex; gap: 8px; overflow-x: auto; scrollbar-width: none; }
.hs-thumbs img { width: 64px; height: 64px; border-radius: 12px; object-fit: cover; flex-shrink: 0; border: 1px solid var(--rd-line); cursor: zoom-in; }
.hs-banner { height: 110px; margin: -14px -14px 2px; border-radius: 17px 17px 0 0; background: var(--rd-s2) center/cover no-repeat; }
.hs-disc { font-size: 15px; font-weight: 800; color: var(--rd-b300); }
.hs-txlist { padding: 4px 14px !important; }
.hs-day { padding: 14px 0 6px; font-size: 12px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--rd-tx3); }
.hs-tx { display: flex; align-items: center; gap: 12px; padding: 10px 0; border-bottom: 1px solid var(--rd-line); }
.hs-tx:last-child { border-bottom: 0; }
.hs-tx-ico { width: 40px; height: 40px; flex-shrink: 0; border-radius: 13px; background: var(--rd-s2); color: var(--rd-tx2); display: flex; align-items: center; justify-content: center; }
.hs-tx-ico.in { background: rgba(61, 214, 140, 0.12); color: var(--rd-ok); }
.hs-tx-body { flex: 1; min-width: 0; }
.hs-tx-title { font-size: 14.5px; font-weight: 700; color: var(--rd-tx); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.hs-tx-sub { font-size: 12.5px; color: var(--rd-tx3); margin-top: 2px; }
.hs-tx-amt { font-size: 15px; font-weight: 800; color: var(--rd-tx); white-space: nowrap; font-variant-numeric: tabular-nums; }
.hs-tx-amt.in { color: var(--rd-ok); }

/* ═══ Кошелёк ICE LOGIX PAY ═══ */
.wl-card-wrap { perspective: 900px; margin: 0 0 12px; touch-action: pan-y; }
.wl-card {
  --mx: 30%; --my: 20%;
  position: relative; overflow: hidden; aspect-ratio: 1.62 / 1; padding: 20px;
  border-radius: 24px; display: flex; flex-direction: column; justify-content: space-between;
  background: linear-gradient(135deg, #1B5FD0 0%, #10398A 42%, #0A1D4A 100%);
  box-shadow: 0 22px 44px -14px rgba(16, 70, 170, 0.7), 0 2px 0 rgba(255, 255, 255, 0.06) inset, 0 0 0 1px rgba(140, 198, 255, 0.18) inset;
  transform-style: preserve-3d; transition: transform .35s cubic-bezier(.2,.8,.2,1);
  color: #fff; isolation: isolate;
}
.wl-glow { position: absolute; inset: 0; z-index: -1; background: radial-gradient(60% 70% at var(--mx) var(--my), rgba(140, 198, 255, 0.35), transparent 70%); }
.wl-sheen { position: absolute; inset: -40% -20%; z-index: -1; background: linear-gradient(115deg, transparent 40%, rgba(255, 255, 255, 0.12) 48%, transparent 56%); animation: wlSheen 6s ease-in-out infinite; }
@keyframes wlSheen { 0%, 70% { transform: translateX(-60%); } 100% { transform: translateX(60%); } }
.wl-flake { position: absolute; right: -36px; bottom: -44px; z-index: -1; color: rgba(255, 255, 255, 0.07); transform: rotate(18deg); }
.wl-flake svg { width: 190px; height: 190px; }
.wl-card-top { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.wl-brand { display: inline-flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 800; letter-spacing: .08em; }
.wl-brand b { color: #9FD0FF; }
.wl-brand-mark { width: 26px; height: 26px; border-radius: 9px; background: rgba(255, 255, 255, 0.16); display: inline-flex; align-items: center; justify-content: center; }
.wl-kyc { display: inline-flex; align-items: center; gap: 5px; height: 26px; padding: 0 10px; border-radius: 999px; border: 0; background: rgba(255, 194, 74, 0.2); color: #FFD27A; font-size: 11.5px; font-weight: 700; cursor: pointer; }
.wl-kyc.ok { background: rgba(61, 214, 140, 0.2); color: #7EF0B8; }
.wl-card-mid { display: flex; flex-direction: column; gap: 2px; }
.wl-cap { font-size: 12px; font-weight: 600; color: rgba(255, 255, 255, 0.6); }
.wl-bal { font-size: 34px; font-weight: 800; letter-spacing: -0.02em; font-variant-numeric: tabular-nums; text-shadow: 0 2px 12px rgba(0, 20, 60, 0.4); }
.wl-card-bot { display: flex; align-items: flex-end; justify-content: space-between; }
.wl-acc { font-size: 13px; font-weight: 700; letter-spacing: .14em; color: rgba(255, 255, 255, 0.75); font-variant-numeric: tabular-nums; }
.wl-chip { width: 38px; height: 28px; border-radius: 7px; display: grid; grid-template-columns: 1fr 1fr; gap: 2px; padding: 4px; background: linear-gradient(135deg, #F6DFA0, #C99A3E); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.5); }
.wl-chip i { border-radius: 2px; border: 1px solid rgba(110, 70, 10, 0.35); }
.wl-block { margin-bottom: 18px; }
.wl-block-h { display: flex; align-items: baseline; justify-content: space-between; margin: 0 0 10px; }
.wl-block-h h2 { margin: 0; font-size: 19px; font-weight: 800; color: var(--rd-tx); letter-spacing: -0.01em; }
.wl-block-h span { font-size: 12.5px; font-weight: 600; color: var(--rd-ok); }
.wl-amount { display: flex; align-items: center; justify-content: center; gap: 6px; padding: 14px 16px; border-radius: 20px; background: var(--rd-s1); border: 1px solid var(--rd-line); transition: border-color .2s, box-shadow .2s; }
.wl-amount:focus-within { border-color: var(--rd-b400); box-shadow: 0 0 0 3px var(--rd-tint); }
html body .wl-amount input { width: 5ch !important; min-width: 0; text-align: right; padding: 0 !important; height: 52px !important; background: transparent !important; border: 0 !important; box-shadow: none !important; font-size: 42px !important; font-weight: 800 !important; letter-spacing: -0.02em; color: var(--rd-tx) !important; font-family: var(--rd-font) !important; font-variant-numeric: tabular-nums; -moz-appearance: textfield; }
.wl-amount input::-webkit-outer-spin-button, .wl-amount input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.wl-amount-sign { font-size: 34px; font-weight: 800; color: var(--rd-tx2); display: inline-flex; }
.wl-chips { display: grid; grid-template-columns: repeat(5, 1fr); gap: 8px; margin-top: 10px; }
.wl-amt { height: 40px; border-radius: 12px; border: 1px solid var(--rd-line-2); background: transparent; color: var(--rd-tx2); font-size: 14px; font-weight: 700; font-variant-numeric: tabular-nums; cursor: pointer; transition: background .15s, color .15s, transform .1s; }
.wl-amt:active { transform: scale(0.95); }
.wl-amt.on { background: var(--rd-tint-2); border-color: transparent; color: var(--rd-b300); }
.wl-methods { display: flex; flex-direction: column; gap: 8px; }
.wl-method { position: relative; display: flex; align-items: center; gap: 12px; padding: 12px 14px; border-radius: 16px; background: var(--rd-s1); border: 1px solid var(--rd-line); cursor: pointer; transition: border-color .15s, background .15s; }
.wl-method.on { border-color: var(--rd-b400); background: linear-gradient(0deg, var(--rd-tint), var(--rd-tint)), var(--rd-s1); }
.wl-radio-input { position: absolute; opacity: 0; pointer-events: none; }
.wl-method-ico { width: 42px; height: 42px; flex-shrink: 0; border-radius: 13px; background: var(--rd-s2); color: var(--rd-b400); display: flex; align-items: center; justify-content: center; }
/* Логотипы способов оплаты (pay-logos.js) */
.pm-logo { display: block; height: 20px; width: auto; max-width: 100%; object-fit: contain; user-select: none; -webkit-user-drag: none; }
.pm-logo-oplati { height: 26px; }
.pm-logo-belkart { height: 16px; }
.pm-tile { width: 64px; height: 42px; flex-shrink: 0; border-radius: 13px; background: var(--rd-s2); display: flex; align-items: center; justify-content: center; padding: 0 9px; box-sizing: border-box; }
.pm-tile .pm-logo { height: 18px; }
.pm-tile .pm-logo-oplati { height: 28px; }
.pm-brands { display: inline-flex; align-items: center; gap: 9px; flex-wrap: wrap; }
.pm-brands .pm-logo { height: 13px; opacity: .92; }
.pm-brands .pm-logo-belkart { height: 15px; }
.pm-seg-logo .pm-logo { height: 16px; margin: 0 auto; opacity: .72; transition: opacity .2s; }
.pm-seg-logo .pm-logo-oplati { height: 24px; }
.fn-seg button.on .pm-logo { opacity: 1; }
.wl-method-body { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.wl-method-title { display: flex; align-items: center; gap: 8px; font-size: 15px; font-weight: 700; color: var(--rd-tx); }
.wl-method-title em { font-style: normal; height: 20px; line-height: 20px; padding: 0 7px; border-radius: 6px; background: var(--rd-tint); color: var(--rd-b300); font-size: 11px; font-weight: 700; }
.wl-method-text { font-size: 12.5px; color: var(--rd-tx3); line-height: 1.35; }
.wl-radio { width: 22px; height: 22px; flex-shrink: 0; border-radius: 50%; border: 2px solid var(--rd-line-2); transition: border .15s; }
.wl-method.on .wl-radio { border: 7px solid var(--rd-blue-hi); }
.wl-submit { height: 54px; font-size: 16px; gap: 8px; margin-bottom: 18px; box-shadow: 0 12px 26px -10px rgba(31, 111, 224, 0.75); }
.wl-submit span { display: inline-flex; align-items: center; gap: 4px; }
.wl-feats { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.wl-feat { padding: 12px; border-radius: 16px; background: var(--rd-s1); border: 1px solid var(--rd-line); }
.wl-feat > span { width: 32px; height: 32px; border-radius: 10px; background: var(--rd-tint); color: var(--rd-b400); display: flex; align-items: center; justify-content: center; margin-bottom: 8px; }
.wl-feat b { display: block; font-size: 13.5px; color: var(--rd-tx); }
.wl-feat p { margin: 3px 0 0; font-size: 12px; line-height: 1.4; color: var(--rd-tx3); }
.wl-note { font-size: 12.5px; color: var(--rd-tx3); }
.wl-hchips { margin-bottom: 12px; }

/* ═══ Финансы ═══ */
.fn-wallet { width: 100%; display: flex; align-items: center; gap: 12px; padding: 14px; margin-bottom: 14px; border-radius: 18px; border: 1px solid rgba(140, 198, 255, 0.2); background: linear-gradient(120deg, rgba(31, 111, 224, 0.28), rgba(31, 111, 224, 0.08) 60%), var(--rd-s1); color: var(--rd-tx); text-align: left; cursor: pointer; }
.fn-wallet:active { transform: scale(0.99); }
.fn-wallet-ico { width: 44px; height: 44px; border-radius: 14px; flex-shrink: 0; background: var(--rd-blue); color: #fff; display: flex; align-items: center; justify-content: center; box-shadow: 0 8px 18px -6px rgba(31, 111, 224, 0.8); }
.fn-wallet-body { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.fn-wallet-body > span { font-size: 12.5px; color: var(--rd-tx2); font-weight: 600; }
.fn-wallet-body b { font-size: 20px; font-weight: 800; font-variant-numeric: tabular-nums; }
.fn-wallet-cta { display: inline-flex; align-items: center; gap: 2px; font-size: 13px; font-weight: 700; color: var(--rd-b300); }
.fn-seg { display: grid; grid-template-columns: repeat(auto-fit, minmax(0, 1fr)); grid-auto-flow: column; gap: 4px; padding: 4px; margin-bottom: 6px; border-radius: 14px; background: var(--rd-s1); border: 1px solid var(--rd-line); }
.fn-seg button { height: 38px; border: 0; border-radius: 10px; background: transparent; color: var(--rd-tx2); font-size: 14px; font-weight: 700; cursor: pointer; transition: background .2s, color .2s; }
.fn-seg button.on { background: var(--rd-s3); color: var(--rd-tx); box-shadow: 0 2px 8px rgba(0, 0, 0, 0.35); }
.fn-sec { margin-top: 18px; }
.fn-cards > div:not(.rd-section):not(.rd-empty) { display: flex; flex-direction: column; gap: 14px; }
.fn-bankcard { box-shadow: 0 18px 36px -16px rgba(0, 0, 0, 0.9) !important; }
.fn-bankcard.fn-def { outline: 2px solid var(--rd-b400); outline-offset: 3px; }
.fn-manage { display: flex; justify-content: flex-end; gap: 8px; max-width: 340px; margin: 8px auto 0; }
.fn-manage .rd-btn { gap: 6px; }
.fn-del { background: rgba(255, 107, 122, 0.12) !important; color: var(--rd-bad) !important; }
.fn-add { width: 100%; max-width: 340px; margin: 14px auto 0; height: 50px; display: flex; align-items: center; justify-content: center; gap: 8px; border-radius: 14px; border: 1.5px dashed var(--rd-line-2); background: transparent; color: var(--rd-b300); font-size: 14px; font-weight: 700; cursor: pointer; }
.fn-limit { display: flex; align-items: center; gap: 8px; justify-content: center; margin-top: 14px; font-size: 13px; color: var(--rd-tx3); }
.fn-spent { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 16px; padding: 14px; border-radius: 16px; background: var(--rd-s1); border: 1px solid var(--rd-line); }
.fn-spent > div { display: flex; flex-direction: column; gap: 2px; }
.fn-spent > div > span { font-size: 12.5px; color: var(--rd-tx3); }
.fn-spent b { font-size: 19px; font-weight: 800; color: var(--rd-tx); }
.fn-promo { margin-top: 12px; padding: 16px !important; }
.fn-promo-h { display: flex; align-items: center; gap: 8px; color: var(--rd-b400); }
.fn-promo-h b { font-size: 16px; color: var(--rd-tx); }
.fn-promo p { margin: 6px 0 12px; font-size: 13.5px; line-height: 1.45; color: var(--rd-tx2); }
.fn-promo-row { display: flex; gap: 8px; }
.fn-promo-row .rd-field { flex: 1; min-width: 0; min-height: 46px; }
.fn-promo-row .rd-field input { width: 100%; }
.fn-promo-row .rd-field input::placeholder { text-transform: none; letter-spacing: 0; font-weight: 500; }
.fn-promo-row .rd-btn { flex-shrink: 0; padding: 0 16px; }
.fn-promo-row .rd-field input { text-transform: uppercase; letter-spacing: .06em; font-weight: 700; }
.fn-promo-row .rd-btn { height: 48px; }
.fn-msg { margin-top: 10px; font-size: 13px; color: var(--rd-tx3); }
.fn-msg.bad { color: var(--rd-bad); }
.fn-guard { display: flex; gap: 12px; margin-top: 16px; padding: 16px !important; }
.fn-guard-ico { width: 44px; height: 44px; flex-shrink: 0; border-radius: 14px; background: rgba(61, 214, 140, 0.12); color: var(--rd-ok); display: flex; align-items: center; justify-content: center; }
.fn-guard b { font-size: 15px; color: var(--rd-tx); }
.fn-guard p { margin: 4px 0 10px; font-size: 13px; line-height: 1.45; color: var(--rd-tx2); }
.fn-guard-row { display: flex; justify-content: space-between; padding-top: 10px; border-top: 1px solid var(--rd-line); font-size: 13px; color: var(--rd-tx3); }
.fn-guard-row b { font-size: 13px; color: var(--rd-ok); }

/* ═══ Распаковка за бонусы ═══ */
.ug-hero { display: flex; align-items: center; gap: 16px; padding: 16px; margin-bottom: 14px; border-radius: 20px; background: radial-gradient(120% 140% at 0% 0%, rgba(47, 134, 245, 0.22), transparent 60%), var(--rd-s1); border: 1px solid var(--rd-line); }
.ug-hero-art { position: relative; flex-shrink: 0; width: 84px; height: 84px; }
.ug-hero-art > span { position: absolute; inset: 6px; border-radius: 24px; display: flex; align-items: center; justify-content: center; color: #fff; background: linear-gradient(145deg, #4DA3FF, #1650B8); box-shadow: 0 14px 26px -10px rgba(31, 111, 224, 0.9), inset 0 1px 0 rgba(255, 255, 255, 0.35); transform: rotate(-8deg); }
.ug-spark { position: absolute; width: 30px; height: 30px; border-radius: 10px; display: flex; align-items: center; justify-content: center; background: var(--rd-s3); color: var(--rd-b300); border: 1px solid var(--rd-line-2); animation: ugFloat 3s ease-in-out infinite; }
.ug-spark.a { top: -4px; right: -6px; }
.ug-spark.b { bottom: -2px; left: -8px; color: var(--rd-warn); animation-delay: -1.5s; }
@keyframes ugFloat { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-4px); } }
.ug-steps { display: flex; flex-direction: column; gap: 8px; }
.ug-steps div { display: flex; align-items: center; gap: 10px; font-size: 13.5px; line-height: 1.35; color: var(--rd-tx2); }
.ug-steps b { width: 22px; height: 22px; flex-shrink: 0; border-radius: 50%; background: var(--rd-tint-2); color: var(--rd-b300); font-size: 12px; display: flex; align-items: center; justify-content: center; }
.ug-drop { position: relative; display: flex; align-items: center; gap: 14px; padding: 16px; margin-bottom: 10px; border-radius: 18px; border: 1.5px dashed var(--rd-line-2); background: var(--rd-s1); cursor: pointer; transition: border-color .2s, background .2s; }
.ug-drop.has { border-style: solid; border-color: var(--rd-b400); background: linear-gradient(0deg, var(--rd-tint), var(--rd-tint)), var(--rd-s1); }
.ug-drop input { position: absolute; inset: 0; opacity: 0; width: 100%; cursor: pointer; }
.ug-drop-ico { width: 46px; height: 46px; border-radius: 14px; flex-shrink: 0; background: var(--rd-tint); color: var(--rd-b400); display: flex; align-items: center; justify-content: center; }
.ug-drop-txt { min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.ug-drop-txt b { font-size: 15px; color: var(--rd-tx); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ug-drop-txt span { font-size: 12.5px; color: var(--rd-tx3); }
.ug-cap { margin-bottom: 12px; align-items: flex-start; }
.ug-cap textarea { resize: none; }
#ugcUploadBtn { gap: 8px; height: 52px; }
.ug-status { min-height: 20px; margin-top: 10px; text-align: center; font-size: 13.5px; font-weight: 600; }
.ug-status .ok { color: var(--rd-ok); } .ug-status .bad { color: var(--rd-bad); }
.ug-load { display: inline-flex; align-items: center; gap: 8px; color: var(--rd-b300); }
.ug-load i { width: 14px; height: 14px; border-radius: 50%; border: 2px solid currentColor; border-top-color: transparent; animation: ugSpin .8s linear infinite; }
@keyframes ugSpin { to { transform: rotate(360deg); } }
.ug-list { padding: 4px 14px !important; }
.ug-none { margin: 0; padding: 18px 0; text-align: center; font-size: 14px; color: var(--rd-tx3); }
.ug-item { display: flex; gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--rd-line); }
.ug-item:last-child { border-bottom: 0; }
.ug-item-ico { width: 40px; height: 40px; flex-shrink: 0; border-radius: 13px; background: var(--rd-s2); color: var(--rd-tx2); display: flex; align-items: center; justify-content: center; }
.ug-item-body { flex: 1; min-width: 0; }
.ug-item-top { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.ug-item-top b { font-size: 14.5px; color: var(--rd-tx); }
.ug-item-body p { margin: 4px 0 0; font-size: 13px; color: var(--rd-tx2); }
.ug-item-body p.ok { color: var(--rd-ok); } .ug-item-body p.bad { color: var(--rd-bad); }

/* ═══ Реферальная сеть ═══ */
.rt-sum { padding: 18px; margin-bottom: 14px; border-radius: 22px; background: radial-gradient(120% 120% at 100% 0%, rgba(61, 214, 140, 0.18), transparent 55%), radial-gradient(120% 120% at 0% 100%, rgba(47, 134, 245, 0.2), transparent 60%), var(--rd-s1); border: 1px solid var(--rd-line); }
.rt-sum-main span { font-size: 13px; color: var(--rd-tx2); font-weight: 600; }
.rt-sum-main b { display: flex; align-items: baseline; gap: 8px; font-size: 40px; font-weight: 800; letter-spacing: -0.02em; color: var(--rd-tx); line-height: 1.1; }
.rt-sum-main em { font-style: normal; font-size: 15px; font-weight: 700; color: var(--rd-ok); }
.rt-sum-people { display: inline-flex; align-items: center; gap: 6px; margin-top: 8px; padding: 0 10px; height: 30px; border-radius: 999px; background: var(--rd-tint); color: var(--rd-b300); font-size: 13px; }
.rt-sum-people span { color: var(--rd-tx2); }
.rt-bars { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-top: 16px; }
.rt-bars > div { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; padding: 10px; border-radius: 14px; background: rgba(255, 255, 255, 0.03); border: 1px solid var(--rd-line); }
.rt-bars b { font-size: 18px; font-weight: 800; color: var(--rd-tx); }
.rt-bars small { font-size: 11.5px; color: var(--rd-tx3); }
.rt-lvl { width: 24px; height: 24px; border-radius: 8px; display: inline-flex; align-items: center; justify-content: center; font-size: 12px; font-weight: 800; flex-shrink: 0; }
.rt-lvl.l1, .rt-ava.l1 { background: rgba(61, 214, 140, 0.15); color: var(--rd-ok); }
.rt-lvl.l2, .rt-ava.l2 { background: var(--rd-tint-2); color: var(--rd-b300); }
.rt-lvl.l3, .rt-ava.l3 { background: rgba(255, 194, 74, 0.14); color: var(--rd-warn); }
.rt-level { padding: 14px; margin-bottom: 10px; border-radius: 18px; background: var(--rd-s1); border: 1px solid var(--rd-line); }
.rt-level-h { display: flex; align-items: center; gap: 12px; }
.rt-level-h .rt-lvl { width: 36px; height: 36px; border-radius: 12px; font-size: 15px; }
.rt-level-h div { display: flex; flex-direction: column; }
.rt-level-h b { font-size: 15.5px; color: var(--rd-tx); }
.rt-level-h span { font-size: 12.5px; color: var(--rd-tx3); }
.rt-none { margin: 10px 0 0 48px; font-size: 13px; color: var(--rd-tx3); }
.rt-nodes { display: flex; flex-direction: column; gap: 2px; margin-top: 10px; }
.rt-node { display: grid; grid-template-columns: 34px 1fr auto; align-items: center; gap: 10px; padding: 6px 0; }
.rt-ava { width: 34px; height: 34px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 14px; font-weight: 800; }
.rt-name { font-size: 14px; font-weight: 600; color: var(--rd-tx); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rt-sub { font-size: 12px; color: var(--rd-tx3); }
.rt-invite { gap: 8px; margin-top: 6px; }

/* ═══ Legit-Check ═══ */
.lc-hero { text-align: center; padding: 8px 8px 20px; }
.lc-badge { position: relative; width: 96px; height: 96px; margin: 6px auto 18px; }
.lc-badge > span { position: absolute; inset: 0; border-radius: 30px; display: flex; align-items: center; justify-content: center; color: #fff; background: linear-gradient(150deg, #5AA8FF 0%, #1F6FE0 45%, #0E3E9C 100%); box-shadow: 0 20px 40px -14px rgba(31, 111, 224, 0.9), inset 0 2px 0 rgba(255, 255, 255, 0.35), inset 0 -6px 14px rgba(0, 20, 70, 0.4); transform: perspective(300px) rotateX(10deg) rotateZ(-6deg); }
.lc-badge > i { position: absolute; right: -6px; bottom: -4px; width: 36px; height: 36px; border-radius: 50%; background: var(--rd-ok); color: #04210F; display: flex; align-items: center; justify-content: center; border: 4px solid var(--rd-bg); }
.lc-hero h2 { margin: 0; font-size: 22px; font-weight: 800; letter-spacing: -0.02em; color: var(--rd-tx); }
.lc-hero p { margin: 8px auto 0; max-width: 320px; font-size: 14.5px; line-height: 1.5; color: var(--rd-tx2); }
.lc-facts { margin-bottom: 14px; }
.lc-price { display: flex; align-items: center; justify-content: space-between; padding: 14px 16px; border-radius: 16px; background: var(--rd-s1); border: 1px solid var(--rd-line); }
.lc-price > span { font-size: 14px; color: var(--rd-tx2); }
.lc-price b { font-size: 20px; font-weight: 800; color: var(--rd-tx); }
.lc-note { margin: 8px 4px 16px; font-size: 12.5px; color: var(--rd-tx3); }
.lc-go { gap: 8px; height: 52px; }
.lc-form { padding: 16px !important; }
.lc-form-t { margin: 0 0 14px; font-size: 18px; font-weight: 800; color: var(--rd-tx); }
.lc-two { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 14px; }
.lc-two > div { min-width: 0; }
.lc-two .rd-field { min-height: 46px; padding: 0 12px; }
.lc-two .rd-field input { width: 100%; }
.lc-drop { display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 18px 14px; margin-bottom: 12px; border-radius: 16px; border: 1.5px dashed var(--rd-line-2); background: var(--rd-s2); text-align: center; cursor: pointer; transition: border-color .2s, background .2s; }
.lc-drop.on { border-color: var(--rd-b400); background: var(--rd-tint); }
.lc-drop-ico { width: 48px; height: 48px; border-radius: 15px; margin-bottom: 4px; background: var(--rd-tint); color: var(--rd-b400); display: flex; align-items: center; justify-content: center; }
.lc-drop b { font-size: 15px; color: var(--rd-tx); }
.lc-drop span { font-size: 12.5px; line-height: 1.4; color: var(--rd-tx3); max-width: 260px; }
.lc-prev:not(.hidden) { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; margin-bottom: 12px; }
.lc-ph { position: relative; aspect-ratio: 1; }
.lc-ph img { width: 100%; height: 100%; object-fit: cover; border-radius: 12px; border: 1px solid var(--rd-line); }
.lc-ph button { position: absolute; top: -6px; right: -6px; width: 22px; height: 22px; border-radius: 50%; border: 2px solid var(--rd-s1); background: var(--rd-bad); color: #fff; display: flex; align-items: center; justify-content: center; cursor: pointer; }
.lc-ph span { position: absolute; left: 4px; bottom: 4px; padding: 1px 6px; border-radius: 6px; background: rgba(5, 7, 11, 0.75); color: var(--rd-b300); font-size: 10px; font-weight: 700; }

/* ═══ Акции и колесо удачи ═══ */
.pr-wheel { display: flex; align-items: center; gap: 16px; padding: 16px; border-radius: 22px; cursor: pointer; background: radial-gradient(130% 120% at 0% 50%, rgba(47, 134, 245, 0.28), transparent 60%), var(--rd-s1); border: 1px solid rgba(140, 198, 255, 0.18); overflow: hidden; }
.pr-wheel-art { position: relative; flex-shrink: 0; width: 104px; height: 104px; filter: drop-shadow(0 14px 18px rgba(0, 0, 0, 0.5)); }
.pr-wheel-disc { position: absolute; inset: 0; border-radius: 50%; border: 4px solid #CFE6FF; background: conic-gradient(#1F6FE0 0 45deg, #0E2A5C 45deg 90deg, #4DA3FF 90deg 135deg, #0E2A5C 135deg 180deg, #1F6FE0 180deg 225deg, #0E2A5C 225deg 270deg, #4DA3FF 270deg 315deg, #0E2A5C 315deg 360deg); box-shadow: inset 0 0 0 3px rgba(5, 7, 11, 0.4), inset 0 -10px 18px rgba(0, 0, 0, 0.35); animation: prSpin 14s linear infinite; }
.pr-wheel:active .pr-wheel-disc { animation-duration: 1.2s; }
@keyframes prSpin { to { transform: rotate(360deg); } }
.pr-wheel-hub { position: absolute; left: 50%; top: 50%; width: 34px; height: 34px; margin: -17px 0 0 -17px; border-radius: 50%; background: linear-gradient(145deg, #fff, #BFD9F5); color: var(--rd-blue); display: flex; align-items: center; justify-content: center; box-shadow: 0 4px 10px rgba(0, 0, 0, 0.4); }
.pr-wheel-hub svg { fill: currentColor; }
.pr-wheel-pin { position: absolute; left: 50%; top: -6px; margin-left: -8px; width: 0; height: 0; border-left: 8px solid transparent; border-right: 8px solid transparent; border-top: 14px solid var(--rd-warn); filter: drop-shadow(0 2px 2px rgba(0, 0, 0, 0.5)); }
.pr-wheel-txt { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; }
.pr-wheel-txt b { font-size: 18px; font-weight: 800; color: var(--rd-tx); }
.pr-wheel-txt span { font-size: 13px; line-height: 1.4; color: var(--rd-tx2); }
.pr-wheel-txt .rd-btn { margin-top: 6px; gap: 4px; }
.pr-list { display: flex; flex-direction: column; gap: 12px; }
.pr-card { border-radius: 20px; overflow: hidden; background: var(--rd-s1); border: 1px solid var(--rd-line); cursor: pointer; transition: transform .15s; }
.pr-card:active { transform: scale(0.99); }
.pr-banner { position: relative; height: 130px; background: linear-gradient(135deg, #133A7A, #0A1B3C); }
.pr-banner img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.pr-banner-fb { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; color: rgba(140, 198, 255, 0.35); }
.pr-disc { position: absolute; left: 12px; bottom: 12px; padding: 4px 10px; border-radius: 10px; background: var(--rd-blue); color: #fff; font-size: 15px; font-weight: 800; box-shadow: 0 6px 14px rgba(0, 0, 0, 0.4); }
.pr-body { padding: 14px 16px 16px; }
.pr-body h3 { margin: 0; font-size: 17px; font-weight: 800; color: var(--rd-tx); }
.pr-body p { margin: 6px 0 0; font-size: 14px; line-height: 1.45; color: var(--rd-tx2); }
.pr-foot { display: flex; align-items: center; justify-content: space-between; margin-top: 12px; font-size: 12.5px; color: var(--rd-tx3); }
.pr-foot > span:first-child { display: inline-flex; align-items: center; gap: 5px; }

/* ═══ Магазин бонусов ═══ */
.bs-hero { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 18px; margin-bottom: 14px; border-radius: 22px; overflow: hidden; background: radial-gradient(120% 140% at 100% 0%, rgba(255, 194, 74, 0.16), transparent 55%), linear-gradient(135deg, #123A80, #0B1B3E 70%); border: 1px solid rgba(140, 198, 255, 0.18); }
.bs-hero-l { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; }
.bs-hero-l > span { font-size: 13px; font-weight: 600; color: rgba(255, 255, 255, 0.65); }
.bs-hero-l > b { display: inline-flex; align-items: baseline; gap: 4px; font-size: 34px; font-weight: 800; letter-spacing: -0.02em; color: #fff; font-variant-numeric: tabular-nums; }
.bs-more { margin-top: 8px; display: inline-flex; align-items: center; gap: 2px; height: 32px; padding: 0 12px; border-radius: 999px; border: 0; background: rgba(255, 255, 255, 0.12); color: #fff; font-size: 13px; font-weight: 700; cursor: pointer; }
.bs-hero-art { position: relative; width: 96px; height: 96px; flex-shrink: 0; }
.bs-hero-art .g1 { position: absolute; inset: 10px; border-radius: 26px; display: flex; align-items: center; justify-content: center; color: #2A1A02; background: linear-gradient(150deg, #FFE08A, #F2A93B); box-shadow: 0 16px 30px -10px rgba(242, 169, 59, 0.7), inset 0 2px 0 rgba(255, 255, 255, 0.5), inset 0 -6px 12px rgba(150, 80, 0, 0.3); transform: rotate(10deg); animation: bsBob 3.2s ease-in-out infinite; }
.bs-hero-art .g2, .bs-hero-art .g3 { position: absolute; width: 28px; height: 28px; border-radius: 9px; display: flex; align-items: center; justify-content: center; background: rgba(255, 255, 255, 0.14); color: #FFE08A; }
.bs-hero-art .g2 { top: -2px; left: -4px; } .bs-hero-art .g2 svg { fill: currentColor; }
.bs-hero-art .g3 { bottom: 0; right: -6px; color: #9FD0FF; }
@keyframes bsBob { 0%, 100% { transform: rotate(10deg) translateY(0); } 50% { transform: rotate(6deg) translateY(-5px); } }
.bs-chips { margin-bottom: 14px; }
.bs-chips .rd-chip { display: inline-flex; align-items: center; gap: 6px; height: 36px; }
.bs-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.bs-empty { grid-column: 1 / -1; }
.bs-item { display: flex; flex-direction: column; border-radius: 18px; overflow: hidden; background: var(--rd-s1); border: 1px solid var(--rd-line); }
.bs-media { position: relative; height: 104px; display: flex; align-items: center; justify-content: center; background: linear-gradient(145deg, #173E86, #0C1D44); }
.bs-media.c-mobile { background: linear-gradient(145deg, #12586A, #0A2830); }
.bs-media.c-merch { background: linear-gradient(145deg, #3B2A7A, #170F38); }
.bs-media.c-gadgets { background: linear-gradient(145deg, #6A4210, #2A1906); }
.bs-media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: 1; }
.bs-ico { width: 58px; height: 58px; border-radius: 18px; display: flex; align-items: center; justify-content: center; color: #fff; background: rgba(255, 255, 255, 0.14); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 10px 20px -8px rgba(0, 0, 0, 0.6); transform: rotate(-6deg); }
.bs-badge { position: absolute; z-index: 2; top: 8px; left: 8px; height: 22px; line-height: 22px; padding: 0 8px; border-radius: 8px; background: rgba(5, 7, 11, 0.6); color: #fff; font-size: 11px; font-weight: 700; backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); }
.bs-body { flex: 1; padding: 10px 12px 0; }
.bs-body h4 { margin: 0; font-size: 14px; font-weight: 700; line-height: 1.3; color: var(--rd-tx); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.bs-body p { margin: 4px 0 0; font-size: 12px; line-height: 1.4; color: var(--rd-tx3); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.bs-foot { display: flex; align-items: flex-end; justify-content: space-between; gap: 6px; padding: 10px 12px 12px; }
.bs-price { display: flex; flex-direction: column; font-size: 16px; font-weight: 800; color: var(--rd-tx); }
.bs-price small { font-size: 11px; font-weight: 500; color: var(--rd-tx3); }
.bs-get { height: 32px; padding: 0 12px; border-radius: 10px; border: 0; font-size: 12.5px; font-weight: 700; cursor: pointer; white-space: nowrap; }
.bs-get.can { background: var(--rd-blue); color: #fff; }
.bs-get.need { background: var(--rd-s3); color: var(--rd-tx2); }
.bs-get.off { background: transparent; color: var(--rd-tx3); }
.bs-modal-ico { width: 56px; height: 56px; margin: 0 auto 6px; border-radius: 18px; display: flex; align-items: center; justify-content: center; color: #2A1A02; background: linear-gradient(150deg, #FFE08A, #F2A93B); }
#bonusRedeemModal > div, #bonusHistoryModal > div { background: var(--rd-s1) !important; border: 1px solid var(--rd-line-2) !important; border-radius: 22px !important; }
#bonusRedeemModal select, #bonusRedeemModal input { height: 46px; padding: 0 12px !important; font-size: 14px !important; background: var(--rd-s2) !important; border: 1px solid var(--rd-line-2) !important; border-radius: 12px !important; }
#bonusRedeemModal label { font-size: 13px !important; color: var(--rd-tx2) !important; font-weight: 600 !important; margin-top: 4px; }
.merch-size-btn { height: 40px; border-radius: 10px !important; }
.merch-size-btn.active { background: var(--rd-tint-2) !important; color: var(--rd-b300) !important; border-color: transparent !important; }
#submitBonusRedeemBtn { height: 50px; box-shadow: none !important; }

/* ═══ Приглашайте друзей ═══ */
.rf-hero { text-align: center; padding: 6px 6px 18px; }
.rf-art { position: relative; width: 150px; height: 110px; margin: 4px auto 14px; }
.rf-ppl { position: absolute; left: 50%; top: 50%; width: 76px; height: 76px; margin: -38px 0 0 -38px; border-radius: 26px; display: flex; align-items: center; justify-content: center; color: #fff; background: linear-gradient(150deg, #5AA8FF, #1650B8); box-shadow: 0 18px 32px -12px rgba(31, 111, 224, 0.9), inset 0 2px 0 rgba(255, 255, 255, 0.35), inset 0 -6px 12px rgba(0, 20, 70, 0.35); }
.rf-coin { position: absolute; width: 46px; height: 46px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 14px; font-weight: 900; box-shadow: 0 10px 18px -8px rgba(0, 0, 0, 0.7), inset 0 2px 0 rgba(255, 255, 255, 0.5); animation: rfFloat 3.4s ease-in-out infinite; }
.rf-coin.c1 { left: 0; top: 8px; color: #2A1A02; background: linear-gradient(150deg, #FFE08A, #F2A93B); }
.rf-coin.c2 { right: 0; bottom: 4px; color: #04210F; background: linear-gradient(150deg, #8AF2BE, #2BBF76); animation-delay: -1.7s; }
@keyframes rfFloat { 0%, 100% { transform: translateY(0) rotate(-6deg); } 50% { transform: translateY(-6px) rotate(4deg); } }
.rf-hero h2 { margin: 0; font-size: 26px; font-weight: 800; letter-spacing: -0.02em; color: var(--rd-tx); }
.rf-hero p { margin: 8px auto 0; max-width: 330px; font-size: 14.5px; line-height: 1.5; color: var(--rd-tx2); }
.rf-stats { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 12px; }
.rf-stats > div { display: flex; flex-direction: column; gap: 2px; padding: 14px; border-radius: 16px; background: var(--rd-s1); border: 1px solid var(--rd-line); }
.rf-stats b { font-size: 24px; font-weight: 800; color: var(--rd-tx); }
.rf-stats > div > span { font-size: 12.5px; color: var(--rd-tx3); }
.rf-link { padding: 14px !important; }
.rf-url { display: flex; align-items: center; gap: 10px; height: 48px; padding: 0 14px; margin-bottom: 10px; border-radius: 12px; background: var(--rd-s2); border: 1px dashed var(--rd-line-2); color: var(--rd-b300); cursor: pointer; }
.rf-url span { flex: 1; min-width: 0; font-size: 14px; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rf-btns { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.rf-btns .rd-btn { gap: 8px; }
.rf-steps { display: flex; flex-direction: column; gap: 0; padding: 4px 16px; border-radius: 18px; background: var(--rd-s1); border: 1px solid var(--rd-line); }
.rf-steps > div { display: flex; gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--rd-line); }
.rf-steps > div:last-child { border-bottom: 0; }
.rf-steps > div > span { width: 30px; height: 30px; flex-shrink: 0; border-radius: 10px; background: var(--rd-tint-2); color: var(--rd-b300); font-weight: 800; display: flex; align-items: center; justify-content: center; }
.rf-steps b { font-size: 15px; color: var(--rd-tx); }
.rf-steps p { margin: 2px 0 0; font-size: 13px; line-height: 1.4; color: var(--rd-tx2); }
.rf-more { margin-top: 14px; }
.rf-more .rd-row > svg:last-child { color: var(--rd-tx3); }

/* ═══ Поиск ═══ */
.sp-field { display: flex; align-items: center; gap: 10px; height: 54px; padding: 0 8px 0 16px; margin-bottom: 12px; border-radius: 18px; background: var(--rd-s1); border: 1px solid var(--rd-line-2); color: var(--rd-b400); transition: border-color .2s, box-shadow .2s; }
.sp-field:focus-within { border-color: var(--rd-b400); box-shadow: 0 0 0 3px var(--rd-tint); }
.sp-field > svg { flex-shrink: 0; }
html body .sp-field input { flex: 1; min-width: 0; height: 100%; padding: 0 !important; background: transparent !important; border: 0 !important; box-shadow: none !important; font-size: 16px !important; font-weight: 500; color: var(--rd-tx) !important; }
.sp-clear { width: 36px; height: 36px; flex-shrink: 0; border-radius: 12px; border: 0; background: var(--rd-s3); color: var(--rd-tx2); display: flex; align-items: center; justify-content: center; cursor: pointer; }
.sp-clear.hidden { display: none; }
.sp-suggest { margin-bottom: 12px; }
.sp-pill { display: inline-flex; align-items: center; gap: 6px; height: 36px; }
.sp-pill-e { font-size: 13px; }
.sp-sec { margin-bottom: 20px; }
.sp-sec-h { display: flex; align-items: center; justify-content: space-between; margin-bottom: 10px; }
.sp-sec-h > span { font-size: 13px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--rd-tx3); }
.sp-hchip { display: inline-flex; align-items: center; gap: 6px; max-width: 220px; }
.sp-hchip span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sp-cats { margin-bottom: 12px; }
.sp-cats .rd-chip { display: inline-flex; align-items: center; gap: 6px; height: 36px; }
.sp-prompts .rd-row > svg:last-child { color: var(--rd-tx3); flex-shrink: 0; }
.sp-foot { display: flex; align-items: center; justify-content: center; gap: 6px; margin: 4px 0 0; font-size: 13px; color: var(--rd-tx3); }
.sp-mark { background: var(--rd-tint-2); color: var(--rd-b300); border-radius: 4px; padding: 0 2px; }

/* ═══ Частые вопросы ═══ */
.fq-search { margin-bottom: 18px; }
.fq-group { margin-bottom: 20px; }
.fq-cat { margin: 0 0 10px; font-size: 13px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--rd-tx3); }
.fq-items { border-radius: 18px; overflow: hidden; background: var(--rd-s1); border: 1px solid var(--rd-line); }
.fq-item + .fq-item { border-top: 1px solid var(--rd-line); }
.fq-q { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 15px 16px; border: 0; background: transparent; text-align: left; color: var(--rd-tx); font-size: 15px; font-weight: 600; line-height: 1.35; cursor: pointer; }
.fq-chev { flex-shrink: 0; color: var(--rd-tx3); transition: transform .25s ease; display: inline-flex; }
.fq-item.open .fq-q { color: var(--rd-b300); }
.fq-a { padding: 0 16px 16px; font-size: 14px; line-height: 1.55; color: var(--rd-tx2); }
.sp-answer { padding: 16px; margin-bottom: 16px; border-radius: 20px; background: radial-gradient(120% 100% at 0% 0%, rgba(47, 134, 245, 0.16), transparent 60%), var(--rd-s1); border: 1px solid var(--rd-line); }
.sp-answer > * + * { margin-top: 12px; }
.sp-answer-h { display: flex; align-items: center; gap: 8px; }
.sp-answer-h b { font-size: 15px; color: var(--rd-tx); }
.sp-answer-ico { width: 28px; height: 28px; border-radius: 9px; background: var(--rd-tint-2); color: var(--rd-b300); display: flex; align-items: center; justify-content: center; }
.sp-answer .text-xs { font-size: 14.5px !important; line-height: 1.55 !important; color: var(--rd-tx2) !important; }
.sp-answer .text-\[11px\] { font-size: 13.5px !important; }
.sp-src { display: flex; align-items: center; gap: 6px; overflow-x: auto; scrollbar-width: none; padding-top: 10px; border-top: 1px solid var(--rd-line); font-size: 12px; color: var(--rd-tx3); }
.sp-src > span:first-child { flex-shrink: 0; }
.sp-src > span:not(:first-child) { flex-shrink: 0; padding: 2px 8px; border-radius: 8px; background: var(--rd-s2); color: var(--rd-tx2) !important; border: 0 !important; font-size: 12px !important; }
.sp-content .bg-cyan-400 { background: var(--rd-blue) !important; color: #fff !important; }

/* ═══ Уведомления ═══ */
.nt-count { display: inline-flex; align-items: center; justify-content: center; min-width: 22px; height: 22px; padding: 0 6px; margin-left: 6px; border-radius: 999px; background: var(--rd-blue); color: #fff; font-size: 12px; font-weight: 800; vertical-align: 3px; }
.nt-count.hidden { display: none; }
.nt-seg { grid-template-columns: repeat(4, 1fr); margin-bottom: 4px; }
.nt-list { display: flex; flex-direction: column; gap: 8px; }
.nt-list .hs-day { padding: 12px 2px 2px; }
.nt-item { position: relative; display: flex; gap: 12px; padding: 14px; border-radius: 18px; background: var(--rd-s1); border: 1px solid var(--rd-line); }
.nt-item.new { background: linear-gradient(0deg, rgba(77, 163, 255, 0.07), rgba(77, 163, 255, 0.07)), var(--rd-s1); border-color: rgba(77, 163, 255, 0.28); }
.nt-ico { width: 42px; height: 42px; flex-shrink: 0; border-radius: 14px; display: flex; align-items: center; justify-content: center; background: var(--rd-s2); color: var(--rd-tx2); }
.nt-ico.o { background: var(--rd-tint); color: var(--rd-b400); }
.nt-ico.p { background: rgba(255, 194, 74, 0.13); color: var(--rd-warn); }
.nt-ico.m { background: rgba(61, 214, 140, 0.12); color: var(--rd-ok); }
.nt-body { flex: 1; min-width: 0; }
.nt-top { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; }
.nt-top b { font-size: 15px; color: var(--rd-tx); line-height: 1.3; }
.nt-top span { flex-shrink: 0; font-size: 12px; color: var(--rd-tx3); }
.nt-body p { margin: 4px 0 0; font-size: 14px; line-height: 1.45; color: var(--rd-tx2); word-break: break-word; }
.nt-body .rd-link { margin-top: 8px; }
.nt-dot { position: absolute; top: 12px; right: 12px; width: 8px; height: 8px; border-radius: 50%; background: var(--rd-b400); box-shadow: 0 0 0 3px rgba(77, 163, 255, 0.2); }
.nt-item.new .nt-top span { margin-right: 12px; }

/* ═══ Настройки ═══ */
.st-tabs { display: grid; grid-template-columns: repeat(4, 1fr); gap: 4px; padding: 4px; margin-bottom: 18px; border-radius: 16px; background: var(--rd-s1); border: 1px solid var(--rd-line); }
.st-tabs button { display: flex; flex-direction: column; align-items: center; gap: 4px; min-height: 56px; padding: 8px 2px; border: 0; border-radius: 12px; background: transparent; color: var(--rd-tx3); font-size: 11.5px; font-weight: 700; cursor: pointer; transition: background-color .2s, color .2s; }
.st-tabs button.on { background: var(--rd-s3); color: var(--rd-tx); }
.st-tabs button.on svg { color: var(--rd-b400); }
.st-panel[hidden] { display: none; }
.st-cap { margin: 22px 4px 8px; font-size: 13px; font-weight: 700; color: var(--rd-tx3); }
.st-panel > .st-cap:first-child { margin-top: 0; }
.st-hint { margin: 8px 4px 0; font-size: 12.5px; line-height: 1.45; color: var(--rd-tx3); }

/* профиль */
.st-me { display: flex; align-items: center; gap: 14px; padding: 16px; }
.st-ava { width: 56px; height: 56px; flex-shrink: 0; border-radius: 50%; overflow: hidden; background: var(--rd-s3); color: var(--rd-b400); display: flex; align-items: center; justify-content: center; }
.st-ava img { width: 100%; height: 100%; object-fit: cover; }
.st-who { flex: 1; min-width: 0; }
.st-who b { display: block; font-size: 17px; font-weight: 800; color: var(--rd-tx); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.st-who span { display: block; margin-top: 2px; font-size: 13px; color: var(--rd-tx2); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.st-id { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 10px 10px 16px; border-top: 1px solid var(--rd-line); }
.st-id span { font-size: 13px; color: var(--rd-tx3); }
.st-id b { font-size: 14px; font-weight: 700; color: var(--rd-tx); font-variant-numeric: tabular-nums; }
.st-copy { display: inline-flex; align-items: center; gap: 6px; height: 36px; padding: 0 12px; border: 0; border-radius: 10px; background: var(--rd-tint); color: var(--rd-b300); font-size: 13px; font-weight: 700; cursor: pointer; }

/* строки настроек */
.st .rd-row { min-height: 64px; }
.st-static { cursor: default; }
.st-static:active { background: transparent; }
label.st-static { cursor: pointer; }
.st-end { flex-shrink: 0; display: inline-flex; align-items: center; gap: 4px; font-size: 13px; color: var(--rd-tx3); }
.st-danger { margin-top: 12px; }
.st-danger .rd-ico { background: rgba(255, 107, 122, 0.13); color: var(--rd-bad); }
.st-danger .rd-row-title { color: var(--rd-bad); }
.st-check { width: 24px; height: 24px; flex-shrink: 0; color: var(--rd-b400); opacity: 0; transition: opacity .15s ease; }
.on > .st-check { opacity: 1; }
.st-flag { width: 44px; height: 44px; flex-shrink: 0; border-radius: 13px; background: var(--rd-tint); color: var(--rd-b300); font-size: 13px; font-weight: 800; letter-spacing: .04em; display: flex; align-items: center; justify-content: center; }

/* тема */
.st-themes { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.st-theme { display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 16px 12px; border-radius: 16px; background: var(--rd-s1); border: 1.5px solid var(--rd-line); color: var(--rd-tx); font-size: 15px; font-weight: 700; cursor: pointer; transition: border-color .2s ease; }
.st-theme.on { border-color: var(--rd-b400); }
.st-theme small { font-size: 12.5px; font-weight: 500; color: var(--rd-tx3); }
.st-theme-ico { width: 48px; height: 48px; border-radius: 16px; display: flex; align-items: center; justify-content: center; background: var(--rd-tint); color: var(--rd-b300); }
.st-theme-ico.light { background: rgba(255, 194, 74, 0.13); color: var(--rd-warn); }

/* ключ восстановления */
.st-key { display: flex; flex-direction: column; align-items: stretch; gap: 12px; margin: 14px 0 10px; padding: 16px; border-radius: 14px; background: var(--rd-s2); border: 1px solid var(--rd-line-2); text-align: center; }
.st-key b { font-size: 22px; font-weight: 800; letter-spacing: .05em; white-space: nowrap; color: var(--rd-tx); font-variant-numeric: tabular-nums; user-select: all; -webkit-user-select: all; }
.st-key .st-copy { justify-content: center; height: 44px; }
.st-note { display: flex; gap: 10px; margin: 0 0 14px; padding: 12px; border-radius: 14px; font-size: 13.5px; line-height: 1.45; background: rgba(255, 194, 74, 0.08); border: 1px solid rgba(255, 194, 74, 0.25); color: var(--rd-tx2); }
.st-note svg { flex-shrink: 0; color: var(--rd-warn); }
.st-sheet-text { margin: 0 0 12px; font-size: 14px; line-height: 1.5; color: var(--rd-tx2); }
.st-sheet-text b { color: var(--rd-tx); }

/* уведомления: разрешение боту, сигнал по курсу юаня */
.st-write { border-color: var(--rd-b400); }
.st-rate { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 0 0 14px; padding: 14px 16px; border-radius: 14px; background: var(--rd-s2); border: 1px solid var(--rd-line-2); font-size: 13px; color: var(--rd-tx3); }
.st-rate b { display: inline-flex; align-items: baseline; gap: 2px; font-size: 16px; font-weight: 800; color: var(--rd-tx); font-variant-numeric: tabular-nums; text-align: right; }
.st-alerts { margin: 0 0 14px; }
.st-alerts .rd-row { min-height: 64px; padding: 10px 8px 10px 14px; }
.st-icon-btn { width: 44px; height: 44px; flex-shrink: 0; display: flex; align-items: center; justify-content: center; border: 0; border-radius: 12px; background: transparent; color: var(--rd-tx3); cursor: pointer; }
.st-icon-btn:active { background: var(--rd-tint); color: var(--rd-bad); }
.st-icon-btn:disabled { opacity: .4; }
.rd-field input[type="time"] { color-scheme: dark; font-variant-numeric: tabular-nums; }

/* ═══ Код-пароль: экран блокировки и ввод кода (app-lock.js) ═══ */
/* Выше любых окон приложения (шторки 9500, фото 9800, сканер 100000…): иначе открытая шторка была поверх экрана кода.
   Над ним — только то, что открывает он сам (.lk-over): шторка «Забыли код?» и его уведомления. */
.lk { position: fixed; inset: 0; z-index: 2147483000; display: flex; flex-direction: column; align-items: center; background: var(--rd-bg); color: var(--rd-tx); padding: calc(12px + env(safe-area-inset-top, 0px)) 16px calc(16px + env(safe-area-inset-bottom, 0px)); opacity: 0; transition: opacity .35s ease; outline: none; overscroll-behavior: contain; touch-action: manipulation; user-select: none; -webkit-user-select: none; }
.lk.show { opacity: 1; }
.lk.lk-closing { transition-duration: .26s; pointer-events: none; }
body.lk-open { overflow: hidden; }
body.lk-open .rd-toast-host, .rd-sheet-wrap.lk-over { z-index: 2147483100; }
/* Приложение заблокировано (body.lk-locked): всё под экраном спрятано и выключено (app-lock.js, data-lk-hide + inert) */
[data-lk-hide] { visibility: hidden; }
body.lk-locked .rd-toast:not(.lk-over) { display: none; }
html.is-browser-gate .lk { z-index: 9000; } /* не в Telegram: заставка «Откройте в Telegram» остаётся сверху, как было */
.lk-top { width: 100%; max-width: 360px; height: 48px; display: flex; align-items: center; }
.lk-body { flex: 1; width: 100%; max-width: 360px; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; min-height: 0; }
.lk-ico { width: 64px; height: 64px; border-radius: 20px; display: flex; align-items: center; justify-content: center; background: var(--rd-tint); color: var(--rd-b400); margin-bottom: 18px; }
.lk-title { margin: 0; font-size: 22px; font-weight: 800; }
.lk-text { margin: 8px 0 0; min-height: 40px; font-size: 14px; line-height: 1.45; color: var(--rd-tx2); }
.lk-text.bad { color: var(--rd-bad); }
.lk-dots { display: flex; gap: 18px; margin: 18px 0 8px; }
.lk-dots i { width: 14px; height: 14px; border-radius: 50%; border: 1.5px solid var(--rd-line-2); background: transparent; transition: background-color .12s ease, border-color .12s ease, transform .12s ease; }
.lk-dots i.on { background: var(--rd-b400); border-color: var(--rd-b400); transform: scale(1.08); }
.lk-busy .lk-dots i.on { opacity: .55; }
.lk-blocked { margin-top: 16px; width: 100%; }
.lk-blocked p { margin: 0 0 14px; font-size: 14px; line-height: 1.5; color: var(--rd-tx2); }
.lk-is-blocked .lk-dots, .lk-is-blocked .lk-pad, .lk-is-blocked .lk-link { display: none; }
.lk-pad { display: grid; grid-template-columns: repeat(3, 76px); gap: 14px 28px; justify-content: center; margin: 12px 0 8px; }
.lk-pad > span { width: 76px; height: 76px; }
.lk-key { width: 76px; height: 76px; border-radius: 50%; border: 1px solid var(--rd-line); background: var(--rd-s1); color: var(--rd-tx); font-size: 28px; font-weight: 600; font-variant-numeric: tabular-nums; display: flex; align-items: center; justify-content: center; cursor: pointer; transition: background-color .12s ease, transform .08s ease; -webkit-tap-highlight-color: transparent; }
.lk-key:active { background: var(--rd-tint-2); transform: scale(.94); }
.lk-fn { background: transparent; border-color: transparent; color: var(--rd-b300); }
.lk-busy .lk-key { pointer-events: none; opacity: .6; }
.lk-link { min-height: 44px; padding: 0 16px; border: 0; background: transparent; color: var(--rd-b300); font-size: 15px; font-weight: 700; cursor: pointer; }
.lk-link-gap { height: 44px; }
.lk-shake .lk-dots { animation: lk-shake .38s ease; }
@keyframes lk-shake { 0%, 100% { transform: translateX(0); } 20% { transform: translateX(-10px); } 40% { transform: translateX(9px); } 60% { transform: translateX(-6px); } 80% { transform: translateX(4px); } }
@media (max-height: 640px) { .lk-pad { grid-template-columns: repeat(3, 66px); gap: 10px 24px; } .lk-key, .lk-pad > span { width: 66px; height: 66px; font-size: 24px; } .lk-ico { width: 52px; height: 52px; margin-bottom: 10px; } }
@media (prefers-reduced-motion: reduce) { .lk-shake .lk-dots { animation: none; } .lk, .lk-key, .lk-dots i { transition: none; } }

.st-ver { margin: 28px 0 4px; text-align: center; font-size: 12px; color: var(--rd-tx3); }

/* ═══ Оформление заказа ═══ */
.no-vac { display: flex; gap: 12px; padding: 14px; margin-bottom: 14px; border-radius: 16px; background: rgba(255, 194, 74, 0.08); border: 1px solid rgba(255, 194, 74, 0.25); }
.no-vac > span { width: 40px; height: 40px; flex-shrink: 0; border-radius: 12px; background: rgba(255, 194, 74, 0.15); color: var(--rd-warn); display: flex; align-items: center; justify-content: center; }
.no-vac b { font-size: 15px; color: var(--rd-tx); }
.no-vac p { margin: 2px 0 0; font-size: 13px; line-height: 1.4; color: var(--rd-tx2); }
.no-hero { text-align: center; padding: 10px 10px 22px; }
.no-art { position: relative; width: 92px; height: 92px; margin: 4px auto 16px; }
.no-art > span { position: absolute; inset: 0; border-radius: 30px; display: flex; align-items: center; justify-content: center; color: #fff; background: linear-gradient(150deg, #5AA8FF, #1650B8); box-shadow: 0 18px 34px -12px rgba(31, 111, 224, 0.9), inset 0 2px 0 rgba(255, 255, 255, 0.35), inset 0 -6px 12px rgba(0, 20, 70, 0.35); transform: rotate(-6deg); }
.no-art > i { position: absolute; right: -8px; bottom: -6px; width: 36px; height: 36px; border-radius: 50%; background: #fff; color: var(--rd-blue); display: flex; align-items: center; justify-content: center; border: 4px solid var(--rd-bg); }
.no-hero h2 { margin: 0; font-size: 22px; font-weight: 800; color: var(--rd-tx); }
.no-hero p { margin: 8px auto 0; max-width: 300px; font-size: 14.5px; line-height: 1.5; color: var(--rd-tx2); }
.no .rd-list .rd-row > svg:last-child, .no .rd-mode > svg:last-child { color: var(--rd-tx3); flex-shrink: 0; }
.no-card { padding: 16px !important; }
.no-form label { font-size: 13px !important; font-weight: 600; color: var(--rd-tx2) !important; }
.no-form input:not([type="range"]):not([type="file"]):not([type="hidden"]):not([type="checkbox"]):not([type="radio"]), .no-form select { min-height: 48px; font-size: 15px !important; border-radius: 12px !important; background: var(--rd-s2) !important; border-color: var(--rd-line-2) !important; }
.no-form .bg-white\/5.p-3.rounded-2xl { background: transparent !important; padding: 0 !important; border: 0; }
.no-form .bg-white\/5.p-3.rounded-2xl > p:first-child { font-size: 13px !important; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--rd-tx3) !important; margin: 18px 0 10px !important; }
.no-form .screenshot-upload-zone { border: 1.5px dashed var(--rd-line-2) !important; border-radius: 16px !important; background: var(--rd-s2); }
.no-form input[type="range"] { accent-color: var(--rd-blue); }
.no-form .filter-chip { height: 42px; border-radius: 12px !important; }
.no-tag { font-size: 12px; font-weight: 600; color: var(--rd-b300); }
.no-sub-t { margin: 0 0 8px; font-size: 13px; font-weight: 700; color: var(--rd-b300); }
.no-form .border-cyan-500\/20 { border-color: var(--rd-line) !important; background: var(--rd-s2) !important; border-radius: 14px !important; }
.no-form div[class*="border-white/30"] { background: var(--rd-s2) !important; border: 1px solid var(--rd-line-2) !important; border-radius: 14px !important; }
html body .no-form div[class*="border-white/30"] > input { min-height: 40px !important; background: transparent !important; border: 0 !important; box-shadow: none !important; }

/* ═══ Калькулятор: итог ═══ */
.cl { display: flex; flex-direction: column; gap: 12px; }
.cl > .rd-head { margin-bottom: 6px; }
.cl-item { display: flex; gap: 14px; align-items: flex-start; padding: 14px; }
.cl-img { width: 88px; height: 88px; flex: none; border-radius: var(--rd-r16); object-fit: cover; background: var(--rd-s3); }
.cl-img-ph { display: flex; align-items: center; justify-content: center; color: var(--rd-tx3); }
.cl-item-body { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 6px; }
.cl-tags { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.cl-cat { font-size: 12px; color: var(--rd-tx3); }
.cl-name { margin: 0; font-size: 15px; font-weight: 700; line-height: 1.3; color: var(--rd-tx); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; word-break: break-word; }
.cl-meta { display: flex; flex-wrap: wrap; gap: 6px; }
.cl-pill { font-size: 12px; padding: 3px 9px; border-radius: 999px; background: var(--rd-s3); color: var(--rd-tx2); }
.cl-pill b { color: var(--rd-tx); font-weight: 600; }
.cl-cny { font-size: 18px; font-weight: 800; color: var(--rd-tx); font-variant-numeric: tabular-nums; }
.cl-bundle-head, .cl-variants-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 10px; font-size: 14px; font-weight: 600; color: var(--rd-tx); }
.cl-variants-head .rd-label { margin: 0; }
.cl-bundle-list { display: flex; flex-direction: column; gap: 8px; }
.cl-bundle-row { display: flex; align-items: center; gap: 10px; }
.cl-bundle-img { width: 40px; height: 40px; border-radius: 10px; object-fit: cover; background: var(--rd-s3); flex: none; }
.cl-bundle-txt { flex: 1; min-width: 0; display: flex; flex-direction: column; font-size: 13px; color: var(--rd-tx); }
.cl-bundle-txt span { color: var(--rd-tx3); font-size: 12px; }
.cl-bundle-sum { font-size: 12.5px; color: var(--rd-tx2); text-align: right; }
.cl-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.calc-size-chip { display: inline-flex; flex-direction: column; align-items: center; gap: 1px; padding: 8px 14px; border-radius: 12px; background: var(--rd-s3); border: 1px solid var(--rd-line); color: var(--rd-tx2); font-size: 13.5px; font-weight: 600; cursor: pointer; }
.calc-size-chip small { font-size: 11px; font-weight: 500; color: var(--rd-tx3); }
.calc-size-chip.active { background: var(--rd-tint); border-color: var(--rd-b400); color: var(--rd-tx); }
.cl-qty { display: flex; align-items: center; justify-content: space-between; padding: 12px 14px; }
.cl-qty-label { font-size: 14px; font-weight: 600; color: var(--rd-tx); }
.cl-stepper { display: inline-flex; align-items: center; gap: 4px; }
.cl-stepper button { width: 40px; height: 40px; border-radius: 12px; border: 1px solid var(--rd-line); background: var(--rd-s3); color: var(--rd-tx); font-size: 20px; line-height: 1; cursor: pointer; }
.cl-stepper span { min-width: 36px; text-align: center; font-size: 16px; font-weight: 700; color: var(--rd-tx); font-variant-numeric: tabular-nums; }
.cl-box { margin-top: 0; padding: 16px; border-radius: var(--rd-r16); text-align: left; background: var(--rd-s2); border: 1px solid var(--rd-line); }
.cl-box summary { list-style: none; display: flex; align-items: center; justify-content: space-between; font-size: 14px; font-weight: 600; color: var(--rd-tx); cursor: pointer; }
.cl-rows { display: flex; flex-direction: column; gap: 2px; margin-top: 8px; }
.cl-line { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; padding: 5px 0; font-size: 13.5px; color: var(--rd-tx2); }
.cl-line b { color: var(--rd-tx); font-weight: 600; font-variant-numeric: tabular-nums; white-space: nowrap; }
.cl-actions { display: flex; flex-direction: column; gap: 10px; }
.cl-form { display: flex; flex-direction: column; gap: 10px; padding: 16px; }
.cl-form .rd-label { margin: 4px 0 0; }
.cl-two { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.cl-status { padding: 12px 14px; border-radius: 14px; font-size: 13px; line-height: 1.4; background: var(--rd-s3); border: 1px solid var(--rd-line); color: var(--rd-tx2); }
.cl-status.bad { color: #ff8a8a; border-color: rgba(255, 107, 107, .35); }
.cl-status.hidden { display: none; }
.cl-hint { margin: 0; font-size: 12.5px; color: var(--rd-tx3); }
.cl-cap { display: block; font-size: 13px; font-weight: 600; color: var(--rd-tx2); }
.cl-total { display: block; margin-top: 4px; font-size: 38px; font-weight: 800; letter-spacing: -0.02em; color: var(--rd-tx); font-variant-numeric: tabular-nums; }
.cl-incl { display: inline-flex; align-items: center; gap: 6px; margin-top: 6px; font-size: 12.5px; font-weight: 600; color: var(--rd-ok); }
.cl-sum-chev { color: var(--rd-tx3); display: inline-flex; transition: transform .2s; }
.cl-box details[open] .cl-sum-chev { transform: rotate(180deg); }
.cl-drop-ico { width: 52px; height: 52px; margin: 0 auto 10px; border-radius: 16px; background: var(--rd-tint); color: var(--rd-b400); display: flex; align-items: center; justify-content: center; }

/* ═══ Мои данные (KYC) ═══ */
.ky-alert { display: flex; gap: 12px; padding: 14px; margin-bottom: 14px; border-radius: 16px; background: rgba(255, 107, 122, 0.08); border: 1px solid rgba(255, 107, 122, 0.28); }
.ky-alert > span { width: 40px; height: 40px; flex-shrink: 0; border-radius: 12px; background: rgba(255, 107, 122, 0.15); color: var(--rd-bad); display: flex; align-items: center; justify-content: center; }
.ky-alert b { font-size: 14.5px; color: var(--rd-tx); }
.ky-alert p { margin: 3px 0 0; font-size: 13px; line-height: 1.4; color: var(--rd-tx2); }
.ky-hero { text-align: center; padding: 6px 8px 20px; }
.ky-art { position: relative; width: 110px; height: 84px; margin: 6px auto 18px; }
.ky-art > span { position: absolute; inset: 0; border-radius: 20px; display: flex; align-items: center; justify-content: center; color: #fff; background: linear-gradient(150deg, #5AA8FF, #1650B8); box-shadow: 0 18px 34px -12px rgba(31, 111, 224, 0.9), inset 0 2px 0 rgba(255, 255, 255, 0.35), inset 0 -6px 12px rgba(0, 20, 70, 0.35); transform: perspective(300px) rotateX(12deg); }
.ky-scan { position: absolute; left: -6px; right: -6px; height: 3px; top: 10%; border-radius: 3px; background: linear-gradient(90deg, transparent, #9FE3FF, transparent); box-shadow: 0 0 14px #6CC8FF; animation: kyScan 2.2s ease-in-out infinite; }
@keyframes kyScan { 0%, 100% { top: 10%; } 50% { top: 86%; } }
.ky-hero h2 { margin: 0; font-size: 22px; font-weight: 800; letter-spacing: -0.02em; color: var(--rd-tx); }
.ky-hero p { margin: 8px auto 0; max-width: 320px; font-size: 14.5px; line-height: 1.5; color: var(--rd-tx2); }
.ky-go { gap: 10px; height: 54px; margin-top: 16px; font-size: 16px; }
.ky-manual { margin-top: 8px; }

/* ═══ Гайд по размерам ═══ */
.sz-tip { display: flex; gap: 10px; align-items: flex-start; padding: 14px; margin-bottom: 14px; border-radius: 16px; background: var(--rd-tint); color: var(--rd-b300); }
.sz-tip > svg { flex-shrink: 0; margin-top: 1px; }
.sz-tip span { font-size: 13.5px; line-height: 1.45; color: var(--rd-tx); }
.sz-list { display: flex; flex-direction: column; gap: 10px; }
.sz-card { padding: 14px; border-radius: 18px; background: var(--rd-s1); border: 1px solid var(--rd-line); }
.sz-top { display: flex; align-items: center; gap: 12px; }
.sz-ico { width: 40px; height: 40px; flex-shrink: 0; border-radius: 13px; background: var(--rd-s2); color: var(--rd-b400); display: flex; align-items: center; justify-content: center; }
.sz-top > div { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.sz-top b { font-size: 15.5px; color: var(--rd-tx); }
.sz-top > div > span { font-size: 12.5px; color: var(--rd-tx3); }
.sz-card p { margin: 10px 0 0; font-size: 14px; line-height: 1.5; color: var(--rd-tx2); }
.sz-card p b { color: var(--rd-tx); }
.sz-ex { display: inline-block; margin-top: 10px; padding: 6px 10px; border-radius: 10px; background: var(--rd-s2); font-size: 12.5px; font-weight: 600; color: var(--rd-b300); font-variant-numeric: tabular-nums; }

/* ═══ Раздел «скоро» ═══ */
.soon-hero { text-align: center; padding: 4px 10px 20px; }
.soon-art { position: relative; width: 150px; height: 110px; margin: 8px auto 14px; }
.soon-art > span { position: absolute; display: flex; align-items: center; justify-content: center; color: #fff; border-radius: 22px; box-shadow: 0 16px 30px -12px rgba(0, 0, 0, 0.8), inset 0 2px 0 rgba(255, 255, 255, 0.3); }
.soon-art .b2 { left: 42px; top: 8px; width: 74px; height: 74px; background: linear-gradient(150deg, #5AA8FF, #1650B8); z-index: 2; animation: bsBob 3.4s ease-in-out infinite; }
.soon-art .b1 { left: 4px; top: 40px; width: 56px; height: 56px; border-radius: 18px; background: linear-gradient(150deg, #2D3E63, #18233A); transform: rotate(-12deg); }
.soon-art .b3 { right: 2px; top: 46px; width: 50px; height: 50px; border-radius: 16px; background: linear-gradient(150deg, #FFE08A, #F2A93B); color: #2A1A02; transform: rotate(10deg); }
.soon-hero .rd-soon { margin-bottom: 8px; }
.soon-hero h2 { margin: 6px 0 0; font-size: 22px; font-weight: 800; color: var(--rd-tx); }
.soon-hero p { margin: 8px auto 0; max-width: 320px; font-size: 14.5px; line-height: 1.5; color: var(--rd-tx2); }
.soon-back { margin-top: 14px; }

/* ═══ О сервисе ═══ */
.ab-hero { position: relative; text-align: center; padding: 22px 16px 20px; margin-bottom: 12px; border-radius: 24px; overflow: hidden; background: radial-gradient(90% 80% at 50% 0%, rgba(47, 134, 245, 0.3), transparent 70%), var(--rd-s1); border: 1px solid var(--rd-line); }
.ab-logo { height: 84px; margin: 0 auto 8px; filter: drop-shadow(0 14px 24px rgba(31, 111, 224, 0.45)); animation: bsBob 4s ease-in-out infinite; }
.ab-hero h2 { margin: 0; font-size: 24px; font-weight: 900; letter-spacing: .06em; color: var(--rd-tx); }
.ab-hero p { margin: 4px 0 14px; font-size: 14px; color: var(--rd-tx2); }
.ab-tags { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; }
.ab-quick { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.ab-quick button { display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 14px 6px; border-radius: 18px; border: 1px solid var(--rd-line); background: var(--rd-s1); color: var(--rd-tx); cursor: pointer; transition: transform .12s; }
.ab-quick button:active { transform: scale(0.96); }
.ab-quick button > span { width: 44px; height: 44px; margin-bottom: 4px; border-radius: 14px; background: var(--rd-tint); color: var(--rd-b400); display: flex; align-items: center; justify-content: center; }
.ab-quick b { font-size: 14px; }
.ab-quick small { font-size: 11.5px; color: var(--rd-tx3); }
.ab-docs { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.ab-docs button { display: flex; align-items: center; gap: 10px; padding: 14px; border-radius: 16px; border: 1px solid var(--rd-line); background: var(--rd-s1); color: var(--rd-tx); font-size: 14px; font-weight: 700; text-align: left; cursor: pointer; }
.ab-docs button svg { color: var(--rd-b400); flex-shrink: 0; }
.ab-socs { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.ab-soc { display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 12px 6px; border-radius: 16px; border: 1px solid var(--rd-line); background: var(--rd-s1); color: var(--rd-tx2); font-size: 12.5px; font-weight: 600; cursor: pointer; }
.ab-soc-ico { width: 40px; height: 40px; border-radius: 13px; display: flex; align-items: center; justify-content: center; background: var(--rd-s2); color: var(--rd-tx); }
.ab-soc-ico svg { width: 20px; height: 20px; }
.ab-soc-ico.s-tg { color: #2AABEE; } .ab-soc-ico.s-vk { color: #4C8DFF; } .ab-soc-ico.s-youtube { color: #FF4E4E; } .ab-soc-ico.s-ig { color: #F06292; } .ab-soc-ico.s-pinterest { color: #E8475A; }
.ab-foot { margin: 20px 0 0; text-align: center; font-size: 12.5px; color: var(--rd-tx3); }

/* ═══ Поиск по фото и описанию (pdd-search.js), префикс ps- ═══ */
.ps-form { padding: 16px; display: flex; flex-direction: column; gap: 6px; }
.ps-form .rd-label { margin-top: 12px; }
.ps-form .rd-label:first-child { margin-top: 0; }
.ps-form > .rd-btn { margin-top: 18px; }
.ps-drop { display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 22px 16px; border: 1.5px dashed var(--rd-line-2); border-radius: 16px; background: var(--rd-s2); text-align: center; cursor: pointer; }
.ps-drop:active { transform: scale(0.99); }
.ps-drop-ico { width: 52px; height: 52px; border-radius: 16px; background: var(--rd-tint); color: var(--rd-b400); display: flex; align-items: center; justify-content: center; }
.ps-drop-title { font-size: 15px; font-weight: 700; color: var(--rd-tx); }
.ps-drop-text { font-size: 12.5px; color: var(--rd-tx3); }
.ps-thumbs { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.ps-thumbs:empty { display: none; }
.ps-thumbs { margin-top: 8px; }
.ps-thumb { position: relative; aspect-ratio: 1; border-radius: 12px; overflow: hidden; border: 1px solid var(--rd-line); background: var(--rd-s2); }
.ps-thumb img { width: 100%; height: 100%; object-fit: cover; }
.ps-thumb button { position: absolute; top: 6px; right: 6px; width: 28px; height: 28px; border-radius: 999px; border: 0; background: var(--rd-glass-bg); color: var(--rd-tx); display: flex; align-items: center; justify-content: center; cursor: pointer; }
.ps-note { margin: 4px 0 0; font-size: 12.5px; line-height: 1.4; color: var(--rd-tx3); }
.ps-platforms { flex-wrap: wrap; overflow: visible; }
.ps-platforms .rd-chip:disabled { opacity: .45; cursor: default; }
.ps-seg { margin-bottom: 0; }
.ps-cur { display: inline-flex; color: var(--rd-tx3); }
.ps-cur svg { width: 14px; height: 16px; color: var(--rd-tx3); }
.ps-prio { margin-top: 14px; }
.ps-prio-head { display: flex; justify-content: space-between; font-size: 13px; font-weight: 600; color: var(--rd-tx2); margin-bottom: 8px; }
.ps-prio input[type=range] { width: 100%; accent-color: var(--rd-blue); height: 28px; }
#psOut { margin-top: 16px; }
.ps-progress { padding: 16px; }
.ps-progress-label { font-size: 14px; font-weight: 700; color: var(--rd-tx); margin-bottom: 10px; }
.ps-bar { height: 6px; border-radius: 999px; background: var(--rd-s3); overflow: hidden; }
.ps-bar i { display: block; height: 100%; border-radius: inherit; background: var(--rd-blue); transition: width .6s ease; }
.ps-query { margin: -6px 0 12px; }
.ps-list { display: flex; flex-direction: column; gap: 10px; }
.ps-item { display: flex; gap: 12px; padding: 12px; cursor: pointer; }
.ps-item:active { transform: scale(0.99); }
.ps-item-img { width: 92px; height: 92px; flex-shrink: 0; border-radius: 12px; overflow: hidden; background: var(--rd-s2); color: var(--rd-tx3); display: flex; align-items: center; justify-content: center; }
.ps-item-img img { width: 100%; height: 100%; object-fit: cover; }
.ps-item-body { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 5px; }
.ps-item-title { font-size: 14px; font-weight: 700; line-height: 1.3; color: var(--rd-tx); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.ps-item-facts { font-size: 12px; color: var(--rd-tx3); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ps-item-tags { display: flex; flex-wrap: wrap; gap: 6px; }
.ps-item-tags .rd-status { height: 22px; font-size: 11px; padding: 0 8px; }
.ps-item-reason { font-size: 12px; line-height: 1.35; color: var(--rd-tx2); }
.ps-item-price { display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px 8px; margin-top: 2px; }
.ps-item-sub { font-size: 12px; color: var(--rd-tx3); }

/* ═══ Окно выбора варианта товара (sku-selector.js) ═══ */
.sk { display: flex; flex-direction: column; gap: 12px; }
.sk-gallery { display: flex; gap: 8px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; margin: 0 -16px; padding: 0 16px; }
.sk-gallery::-webkit-scrollbar { display: none; }
.sk-slide { flex: 0 0 72%; max-width: 280px; aspect-ratio: 1 / 1; border-radius: 16px; overflow: hidden; background: var(--rd-s2); scroll-snap-align: start; }
.sk-slide:only-child { flex-basis: 100%; max-width: none; aspect-ratio: 4 / 3; }
.sk-slide img { width: 100%; height: 100%; object-fit: cover; display: block; cursor: zoom-in; }
.sk-slide-video { position: relative; }
.sk-slide-collage { position: relative; background: #fff; }
.sk-slide-collage .sk-tile { position: absolute; width: auto; height: auto; border-radius: 6px; object-fit: cover; }
.sk-play { position: absolute; left: 50%; top: 50%; width: 56px; height: 56px; margin: -28px 0 0 -28px; display: flex; align-items: center; justify-content: center; border-radius: 999px; background: rgba(0, 0, 0, 0.6); color: rgb(255, 255, 255); cursor: pointer; }
.sk-slide.playing .sk-play, .sk-slide.playing .sk-dur { display: none; }
.sk-inline-video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; background: #000; z-index: 2; }
.sk-play svg { margin-left: 2px; }
.sk-dur { position: absolute; left: 8px; bottom: 8px; padding: 2px 8px; border-radius: 999px; background: rgba(0, 0, 0, 0.55); color: rgb(255, 255, 255); font-size: 12px; font-weight: 600; font-variant-numeric: tabular-nums; pointer-events: none; }
/* Просмотр фото на весь экран (photo-viewer.js): всегда чёрный, и в светлой теме тоже */
.pv { position: fixed; inset: 0; z-index: 9800; overflow: hidden; user-select: none; -webkit-user-select: none; -webkit-touch-callout: none; animation: pv-in 0.16s ease-out; }
.pv.pv-out { opacity: 0; transition: opacity 0.16s ease-out; pointer-events: none; }
.pv-bg { position: absolute; inset: 0; background: rgb(0, 0, 0); touch-action: none; }
.pv-track { position: absolute; inset: 0; display: flex; gap: 16px; will-change: transform; touch-action: none; }
.pv-slide { flex: 0 0 100%; height: 100%; overflow: hidden; display: flex; align-items: center; justify-content: center; }
.pv-img { width: 100%; height: 100%; object-fit: contain; display: block; will-change: transform; -webkit-user-drag: none; }
.pv-slide-video { position: relative; }
.pv-wait { background: linear-gradient(100deg, transparent 30%, rgba(255,255,255,.07) 50%, transparent 70%) 0 0 / 200% 100%; animation: pvWait 1.2s linear infinite; }
@keyframes pvWait { to { background-position: -200% 0; } }
@media (prefers-reduced-motion: reduce) { .pv-wait { animation: none; } }
.pv-play { position: absolute; left: 50%; top: 50%; width: 72px; height: 72px; margin: -36px 0 0 -36px; display: flex; align-items: center; justify-content: center; border-radius: 999px; background: rgba(0, 0, 0, 0.55); color: rgb(255, 255, 255); pointer-events: none; }
.pv-play svg { width: 34px; height: 34px; margin-left: 3px; }
.pv-video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; background: rgb(0, 0, 0); }
.pv-playing .pv-play { display: none; }
.pv-anim { transition: transform 0.22s cubic-bezier(0.2, 0.8, 0.2, 1), opacity 0.22s ease-out; }
.pv-bar { position: absolute; left: 0; right: 0; top: 0; display: flex; align-items: center; justify-content: center; padding: calc(12px + env(safe-area-inset-top, 0px)) 16px 12px; pointer-events: none; transition: opacity 0.16s ease-out; }
.pv-count { font-size: 14px; font-weight: 600; color: rgb(255, 255, 255); font-variant-numeric: tabular-nums; }
.pv-bar .pv-close { position: absolute; left: 16px; }
.pv-strip { position: absolute; left: 0; right: 0; bottom: 0; display: flex; gap: 8px; overflow-x: auto; scrollbar-width: none; padding: 12px 16px calc(12px + env(safe-area-inset-bottom, 0px)); touch-action: pan-x; overscroll-behavior: contain; transition: opacity 0.16s ease-out; }
.pv-strip::-webkit-scrollbar { display: none; }
.pv-thumb { flex: 0 0 52px; width: 52px; height: 52px; padding: 0; border: 2px solid transparent; border-radius: 8px; overflow: hidden; background: rgba(255, 255, 255, 0.08); opacity: 0.55; cursor: pointer; -webkit-tap-highlight-color: transparent; }
.pv-thumb.on { border-color: var(--rd-b400); opacity: 1; }
.pv-thumb-video { position: relative; }
.pv-thumb-play { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; background: rgba(0, 0, 0, 0.35); color: rgb(255, 255, 255); pointer-events: none; }
.pv-thumb-play svg { width: 18px; height: 18px; }
.pv-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; pointer-events: none; }
.pv.pv-zoomed .pv-strip { opacity: 0; pointer-events: none; }
.pv.pv-zoomed .pv-count { opacity: 0; }
.pv-close { pointer-events: auto; width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center; border: 0; border-radius: 999px; background: rgba(255, 255, 255, 0.14); color: rgb(255, 255, 255); cursor: pointer; -webkit-tap-highlight-color: transparent; }
@keyframes pv-in { from { opacity: 0; } to { opacity: 1; } }
.sk-count { margin-top: -4px; font-size: 12px; color: var(--rd-tx3); }
.sk-variant { display: flex; align-items: center; gap: 12px; width: 100%; margin-top: 12px; padding: 8px; border: 1px solid var(--rd-line); border-radius: 16px; background: var(--rd-s1); color: inherit; font: inherit; text-align: left; cursor: pointer; }
.sk-variant[hidden] { display: none; }
.sk-variant img { flex: 0 0 72px; width: 72px; height: 72px; border-radius: 12px; object-fit: cover; background: var(--rd-s2); }
.sk-variant-txt { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.sk-variant-cap { font-size: 12px; color: var(--rd-tx3); }
.sk-variant-name { font-size: 14px; font-weight: 600; color: var(--rd-tx); overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.sk-title { font-size: 16px; font-weight: 700; line-height: 1.35; color: var(--rd-tx); }
.sk-price { display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px 10px; }
.sk-price-sub { font-size: 13px; color: var(--rd-tx2); }
.sk-note { margin: -6px 0 0; font-size: 13px; color: var(--rd-warn); }
.sk-note.bad { color: var(--rd-bad); }
.sk-badges { display: flex; flex-wrap: wrap; gap: 6px; }
.sk-badges .rd-status svg { width: 14px; height: 14px; }
.sk-reason { margin: -4px 0 0; font-size: 13px; line-height: 1.4; color: var(--rd-tx2); }
.sk-facts { font-size: 13px; color: var(--rd-tx3); }
.sk-group { display: flex; flex-direction: column; gap: 8px; margin-top: 4px; }
.sk-group-head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.sk-group-title { font-size: 15px; font-weight: 800; color: var(--rd-tx); }
.sk-group-sel { min-width: 0; font-size: 13px; font-weight: 600; color: var(--rd-b400); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sk-opts { display: grid; grid-template-columns: repeat(auto-fill, minmax(76px, 1fr)); gap: 8px; }
.sk-opts-vis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.sk-opt {
  display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; padding: 6px 10px;
  border-radius: 12px; border: 1px solid var(--rd-line-2); background: var(--rd-s2); color: var(--rd-tx);
  font-size: 13px; font-weight: 600; text-align: center; cursor: pointer; -webkit-tap-highlight-color: transparent;
}
.sk-opt-vis { justify-content: flex-start; text-align: left; padding: 6px; min-height: 56px; }
.sk-opt img, .sk-opt-noimg { width: 42px; height: 42px; flex-shrink: 0; border-radius: 8px; object-fit: cover; background: var(--rd-s3); }
.sk-opt-noimg { display: inline-flex; align-items: center; justify-content: center; color: var(--rd-tx3); }
.sk-opt-name { min-width: 0; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; line-height: 1.3; }
.sk-opt.on { border-color: var(--rd-b400); background: var(--rd-tint); color: var(--rd-b300); }
.sk-opt.off { opacity: 0.4; text-decoration: line-through; }
.sk-opt-body { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.sk-opt-price { font-size: 12px; font-weight: 700; color: var(--rd-tx2); font-variant-numeric: tabular-nums; }
.sk-opt-price:empty { display: none; }
.sk-opt.on .sk-opt-price { color: var(--rd-b300); }
.sk-more { padding: 0; overflow: hidden; }
.sk-more summary { display: flex; align-items: center; gap: 10px; min-height: 48px; padding: 0 14px; list-style: none; cursor: pointer; font-size: 14px; font-weight: 700; color: var(--rd-tx); }
.sk-more summary::-webkit-details-marker { display: none; }
.sk-more summary span { flex: 1; }
.sk-more summary svg { width: 18px; height: 18px; color: var(--rd-b400); flex-shrink: 0; }
.sk-more summary svg:last-child { color: var(--rd-tx3); transition: transform .2s ease; }
.sk-more[open] summary svg:last-child { transform: rotate(180deg); }
.sk-table-wrap { overflow-x: auto; border-top: 1px solid var(--rd-line); }
.sk-table { width: 100%; border-collapse: collapse; font-size: 13px; font-variant-numeric: tabular-nums; }
.sk-table th, .sk-table td { padding: 9px 12px; text-align: left; white-space: nowrap; border-bottom: 1px solid var(--rd-line); }
.sk-table th { color: var(--rd-tx3); font-weight: 600; }
.sk-table td { color: var(--rd-tx); }
.sk-table tr:last-child td { border-bottom: 0; }
.sk-qty { display: flex; align-items: center; gap: 12px; padding: 12px 14px; }
.sk-qty-body { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.sk-qty-title { font-size: 15px; font-weight: 700; color: var(--rd-tx); }
.sk-qty-sub { font-size: 12px; color: var(--rd-tx3); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sk-stepper { display: flex; align-items: center; gap: 4px; flex-shrink: 0; }
.sk-stepper button { width: 44px; height: 44px; border-radius: 12px; border: 0; background: var(--rd-s2); color: var(--rd-tx); display: inline-flex; align-items: center; justify-content: center; cursor: pointer; }
.sk-stepper span { min-width: 28px; text-align: center; font-size: 16px; font-weight: 800; font-variant-numeric: tabular-nums; color: var(--rd-tx); }
.sk-stepper-sm button { width: 32px; height: 32px; border-radius: 10px; }
.sk-stepper-sm span { min-width: 20px; font-size: 14px; }
.sk-alert { display: flex; align-items: flex-start; gap: 8px; padding: 10px 12px; border-radius: 12px; background: rgba(255, 194, 74, 0.13); color: var(--rd-warn); font-size: 13px; line-height: 1.4; }
.sk-alert[hidden] { display: none; }
.sk-alert svg { width: 18px; height: 18px; flex-shrink: 0; margin-top: 1px; }
.sk-add svg { width: 18px; height: 18px; }
.sk-bundle .rd-section { margin: 0 0 8px; }
.sk-bundle .rd-section h2 { font-size: 16px; }
.sk-bundle-row { gap: 10px; }
.sk-bundle-img { width: 40px; height: 40px; border-radius: 10px; object-fit: cover; flex-shrink: 0; background: var(--rd-s2); }
.sk-del { width: 36px; height: 36px; border-radius: 10px; border: 0; background: rgba(255, 107, 122, 0.12); color: var(--rd-bad); display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; cursor: pointer; }
.sk-h { margin-top: 4px; font-size: 15px; font-weight: 800; color: var(--rd-tx); }
.sk-specs { padding: 4px 14px; }
.sk-spec { display: flex; justify-content: space-between; gap: 12px; padding: 9px 0; font-size: 13px; }
.sk-spec + .sk-spec { border-top: 1px solid var(--rd-line); }
.sk-spec span { color: var(--rd-tx3); flex-shrink: 0; }
.sk-spec b { color: var(--rd-tx); font-weight: 600; text-align: right; min-width: 0; overflow-wrap: anywhere; }
.sk-review { padding: 12px 14px; font-size: 13px; line-height: 1.45; color: var(--rd-tx2); }
.sk-foot { position: sticky; bottom: calc(-20px - env(safe-area-inset-bottom, 0px)); margin: 4px -16px calc(-20px - env(safe-area-inset-bottom, 0px)); padding: 12px 16px calc(16px + env(safe-area-inset-bottom, 0px)); background: var(--rd-s1); border-top: 1px solid var(--rd-line); }
.sk-foot .rd-btn:disabled { opacity: 0.5; }
.ps-item.wait { cursor: default; }
.ps-item-wait { font-size: 12px; color: var(--rd-tx3); }

/* ═══ Оформление заказа (checkout-ui.js) ═══ */
/* старый слой обнуляет отступ у .main-content > .page-enter с !important: без перебивания низ итога уходит под кнопку */
.main-content > .co.page-enter { padding-bottom: calc(190px + env(safe-area-inset-bottom, 0px)) !important; }
.co-sub { margin-top: 20px; margin-bottom: 8px; }
.co-sub h2 { font-size: 16px; }
.co-gap { margin-top: 14px; }
.co-grow { flex: 1; min-width: 0; }
.co-items { padding: 4px 14px; }
.co-item { display: flex; align-items: center; gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--rd-line); }
.co-thumb { width: 60px; height: 60px; flex-shrink: 0; border-radius: var(--rd-r12); overflow: hidden; background: var(--rd-s2); display: flex; align-items: center; justify-content: center; color: var(--rd-tx3); }
.co-thumb img { width: 100%; height: 100%; object-fit: cover; }
.co-item-body { flex: 1; min-width: 0; }
.co-item-title { font-size: 15px; font-weight: 700; color: var(--rd-tx); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.co-item-meta { font-size: 13px; color: var(--rd-tx3); margin-top: 2px; }
.co-item-price { display: flex; align-items: baseline; gap: 2px; margin-top: 4px; font-size: 15px; font-weight: 700; color: var(--rd-tx); font-variant-numeric: tabular-nums; }
.co-item-price .byn-sign { height: .82em; width: auto; margin-left: .14em; }
.co-item-qty { margin-left: 8px; font-size: 13px; font-weight: 500; color: var(--rd-tx3); }
.co-item-del { width: 44px; height: 44px; flex-shrink: 0; margin-right: -10px; display: flex; align-items: center; justify-content: center; border: 0; background: transparent; color: var(--rd-tx3); cursor: pointer; }
.co-add { width: 100%; height: 48px; display: flex; align-items: center; justify-content: center; gap: 8px; border: 0; background: transparent; color: var(--rd-b400); font-size: 15px; font-weight: 700; cursor: pointer; }
.co-opt { cursor: pointer; }
.co-opt-price { margin-left: 8px; font-weight: 600; color: var(--rd-b400); white-space: nowrap; }
.co-opt-price .byn-sign { height: .82em; width: auto; margin-left: .12em; }
.co-radio { cursor: pointer; }
.co-dot { width: 22px; height: 22px; flex-shrink: 0; border-radius: 50%; border: 2px solid var(--rd-line-2); transition: border-color .15s, border-width .15s; }
.co-radio.on .co-dot { border: 7px solid var(--rd-blue); }
.co-pvs { display: flex; flex-direction: column; gap: 8px; margin-top: 14px; }
.co-select { flex: 1; min-width: 0; height: 100%; border: 0; outline: 0; background: transparent; color: var(--rd-tx); font-size: 15px; appearance: none; }
.rd-field .co-select { padding: 0 !important; border: 0 !important; background: transparent !important; box-shadow: none !important; } /* перебивает старый слой select */
.co-select option { background: var(--rd-s2); color: var(--rd-tx); }
.co-note-line { margin: 10px 2px 0; font-size: 13px; line-height: 1.45; color: var(--rd-tx3); }
.co-duty { margin-top: 16px; }
.co-total { padding: 16px; }
.co-total-now { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin: 12px 0 4px; }
.co-total-all { margin-top: 4px; padding-top: 10px; border-top: 1px solid var(--rd-line); font-weight: 700; color: var(--rd-tx); }
.co-total-all > span:last-child { font-weight: 800; }
.co-total-now > span { font-size: 15px; font-weight: 700; color: var(--rd-tx); }
.co-total-now b { display: inline-flex; align-items: baseline; font-size: 26px; font-weight: 800; color: var(--rd-tx); font-variant-numeric: tabular-nums; }
.co-total-now .byn-sign { height: .8em; width: auto; margin-left: .14em; }
.co-total-row { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; padding: 4px 0; font-size: 14px; color: var(--rd-tx2); }
.co-total-row > span:last-child { display: inline-flex; align-items: baseline; flex-shrink: 0; color: var(--rd-tx); font-variant-numeric: tabular-nums; }
.co-total-row .byn-sign { height: .82em; width: auto; margin-left: .14em; }
.co-more { width: 100%; min-height: 44px; margin-top: 8px; display: flex; align-items: center; justify-content: space-between; border: 0; border-top: 1px solid var(--rd-line); background: transparent; color: var(--rd-b400); font-size: 14px; font-weight: 700; cursor: pointer; }
.co-more svg { transition: transform .2s; }
.co-more.open svg { transform: rotate(180deg); }
.co-breakdown { padding-top: 2px; }
.co-terms { margin: 14px 2px 0; font-size: 13px; line-height: 1.5; color: var(--rd-tx3); }
.co-terms button { padding: 0; border: 0; background: transparent; color: var(--rd-b400); font: inherit; cursor: pointer; }
.co-cta .rd-btn { flex: 1; }
.co-cta .byn-sign { height: .82em; width: auto; margin-left: .14em; }
.rd-sheet .rd-btn .byn-sign { height: .82em; width: auto; margin-left: .14em; }
.rd-sheet .rd-btn > span { display: inline-flex; align-items: baseline; }
.co-cta .rd-btn > span { display: inline-flex; align-items: baseline; }
.co-doc { font-size: 14px; line-height: 1.55; color: var(--rd-tx2); }
.co-doc h2 { margin: 16px 0 6px; font-size: 15px; font-weight: 700; color: var(--rd-tx); }
.co-doc p { margin: 0 0 8px; }
.co-doc .co-doc-draft { padding: 10px 12px; border-radius: var(--rd-r12); background: rgba(255, 194, 74, 0.13); color: var(--rd-warn); }

/* ─── Потянуть вниз, чтобы обновить (js/modules/pull-refresh.js) ─── */
/* Страница сама едет вниз (translate на #content), спиннер проявляется в просвете под шапкой */
.ptr { position: fixed; top: 0; left: 0; right: 0; z-index: 2; display: flex; justify-content: center; pointer-events: none; opacity: 0; will-change: transform, opacity; transform: translate3d(0, var(--ptr-y, 0px), 0); transition: transform .32s cubic-bezier(.22,.9,.3,1), opacity .2s ease; }
.ptr.ptr-on { opacity: var(--ptr-o, 1); }
.ptr.ptr-drag { transition: none; }
.ptr-spinner { display: block; overflow: visible; scale: calc(0.7 + var(--ptr-p, 0) * 0.3); }
.ptr-spoke { stroke: var(--rd-b400); stroke-width: 2; stroke-linecap: round; opacity: clamp(0, calc(var(--ptr-p, 0) * 12 - var(--i)), 1); }
.ptr.ptr-spin .ptr-spinner { animation: ptr-spin .9s steps(12) infinite; }
.ptr.ptr-spin .ptr-spoke { opacity: calc(0.2 + var(--i) * 0.07); }
@keyframes ptr-spin { to { transform: rotate(360deg); } }
/* Пока экран обновляется, он превращается в ровные пустые силуэты (скелетон, как в WB/Ozon): крупные плитки (.ptr-blk,
   их находит pull-refresh.js) — одним гладким цветом, всё внутри и всё мелкое скрыто. Пульсация — только opacity (GPU). */
#content.ptr-skel { animation: ptr-pulse 1.1s ease-in-out infinite alternate; }
#content.ptr-skel * { color: transparent !important; text-shadow: none !important; box-shadow: none !important; border-color: transparent !important; background-image: none !important; background-color: transparent !important; caret-color: transparent; outline: 0 !important; }
#content.ptr-skel :is(img, svg, video, canvas, picture, iframe) { visibility: hidden !important; }
#content.ptr-skel .ptr-blk { background-color: var(--rd-s2) !important; border-radius: 14px; overflow: hidden; }
#content.ptr-skel .ptr-blk * { visibility: hidden !important; }
#content.ptr-skel :is(img, video, canvas).ptr-blk { visibility: visible !important; opacity: 1; object-fit: none; object-position: 400% 400%; }
#content.ptr-skel > * { pointer-events: none; }
@keyframes ptr-pulse { from { opacity: .55; } to { opacity: 1; } }
#content.ptr-in { animation: ptr-in .26s ease-out; }
@keyframes ptr-in { from { opacity: .3; } to { opacity: 1; } }
/* на время обновления экран не запускает свои въезды: иначе проявление дёргается дважды */
#content.ptr-run:not(.ptr-skel):not(.ptr-in), #content.ptr-run .page-enter { animation: none !important; }
@media (prefers-reduced-motion: reduce) { #content.ptr-skel, #content.ptr-in { animation: none; } .ptr { transition: none; } .ptr.ptr-spin .ptr-spinner { animation: none; } }

/* ===== Поиск как чат с ассистентом ===== */
.sp-content { padding: 6px 0 170px; }
.sp-content *, .sp-thread > * { scroll-margin-bottom: 170px; }
.rd-screen.sp.page-enter { animation: none; transform: none; }
.main-content:has(> .rd-screen.sp) { animation: none !important; transform: none !important; }
.sp-composer .sp-clear.hidden { display: none; }
.sp-kb .sp-composer { bottom: 10px; }
.sp-kb .tab-bar { display: none; }
.sp-top { position: sticky; top: 0; z-index: 5; }
.sp-top { display: flex; justify-content: flex-end; margin-bottom: 8px; }
.sp-new { display: inline-flex; align-items: center; gap: 6px; height: 34px; padding: 0 14px; border: 1px solid var(--rd-line); border-radius: 999px; background: var(--rd-s1); color: var(--rd-tx2); font: inherit; font-size: 13px; font-weight: 600; cursor: pointer; }
.sp-new:active { background: var(--rd-s2); }
.sp-hero { display: flex; flex-direction: column; align-items: center; text-align: center; padding: 36px 0 26px; }
.sp-orb { width: 68px; height: 68px; border-radius: 22px; display: flex; align-items: center; justify-content: center; color: #fff; background: linear-gradient(150deg, #2F86F5, #1650B8); box-shadow: 0 10px 30px rgba(31, 111, 224, 0.4), inset 0 1px 0 rgba(255, 255, 255, 0.25); }
.sp-hello { margin: 18px 0 6px; font-size: 26px; font-weight: 800; letter-spacing: -.01em; color: var(--rd-tx); }
.sp-hello-sub { margin: 0; font-size: 14.5px; color: var(--rd-tx3); }
.sp-starters { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.sp-starter { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; min-height: 92px; padding: 14px; border: 1px solid var(--rd-line); border-radius: 18px; background: var(--rd-s1); color: var(--rd-tx); font: inherit; font-size: 14.5px; font-weight: 600; line-height: 1.3; text-align: left; cursor: pointer; transition: background .15s, transform .15s; }
.sp-starter:active { background: var(--rd-s2); transform: scale(.98); }
.sp-starter-ico { width: 34px; height: 34px; border-radius: 11px; background: var(--rd-tint-2); color: var(--rd-b300); display: flex; align-items: center; justify-content: center; }
.sp-recent { margin-top: 24px; }
.sp-thread { display: flex; flex-direction: column; gap: 16px; }
.sp-msg { display: flex; gap: 10px; max-width: 100%; animation: spIn .28s cubic-bezier(.16, 1, .3, 1); }
@keyframes spIn { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
.sp-msg.me { justify-content: flex-end; }
.sp-msg-ico { width: 28px; height: 28px; margin-top: 1px; flex-shrink: 0; border-radius: 10px; background: linear-gradient(150deg, #2F86F5, #1650B8); color: #fff; display: flex; align-items: center; justify-content: center; }
.sp-bubble { min-width: 0; font-size: 15.5px; line-height: 1.55; word-break: break-word; color: var(--rd-tx); }
.sp-msg.me .sp-bubble { max-width: 82%; padding: 10px 15px; border-radius: 20px 20px 6px 20px; background: var(--rd-blue); color: #fff; }
.sp-msg.bot .sp-bubble { flex: 1; padding-top: 3px; }
.sp-acts { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.sp-act { min-height: 40px; padding: 0 16px; border-radius: 12px; border: 0; background: var(--rd-blue); color: #fff; font: inherit; font-size: 14px; font-weight: 600; }
.sp-act:active { opacity: .8; }
.sp-rate { display: flex; gap: 8px; margin-top: 10px; }
.sp-rate-btn { display: inline-flex; align-items: center; gap: 6px; min-height: 36px; padding: 0 12px; border-radius: 10px; border: 1px solid rgba(255,255,255,.12); background: transparent; color: var(--rd-text-2, #9aa0a6); font: inherit; font-size: 13px; }
.sp-rate-btn:active { opacity: .7; }
.sp-rate-thanks { font-size: 13px; color: var(--rd-text-2, #9aa0a6); }
.sp-bubble .sp-src { margin-top: 10px; padding-top: 0; border-top: 0; }
.sp-cards { margin-left: 38px; }
.sp-cards .sp-answer:first-child { margin-top: 0; }
.sp-typing { display: inline-flex; gap: 5px; align-items: center; height: 24px; }
.sp-typing i { width: 7px; height: 7px; border-radius: 50%; background: var(--rd-tx3); animation: spTyping 1.1s infinite ease-in-out; }
.sp-typing i:nth-child(2) { animation-delay: .15s; }
.sp-typing i:nth-child(3) { animation-delay: .3s; }
@keyframes spTyping { 0%, 80%, 100% { opacity: .3; transform: translateY(0); } 40% { opacity: 1; transform: translateY(-3px); } }
.sp-composer { position: fixed; left: 12px; right: 12px; bottom: calc(104px + env(safe-area-inset-bottom, 0px)); z-index: 95; display: flex; align-items: center; gap: 6px; padding: 5px 5px 5px 18px; border-radius: 26px; background: var(--rd-glass-bg); border: 1px solid var(--rd-glass-line); box-shadow: var(--rd-glass-shadow); -webkit-backdrop-filter: blur(24px) saturate(180%); backdrop-filter: blur(24px) saturate(180%); }
.sp-composer:focus-within { border-color: var(--rd-b400); }
html body .sp-composer input { flex: 1; min-width: 0; height: 42px; padding: 0 !important; background: transparent !important; border: 0 !important; box-shadow: none !important; font-size: 16px !important; font-weight: 500; color: var(--rd-tx) !important; }
.sp-composer .sp-clear { width: 30px; height: 30px; flex-shrink: 0; border: 0; border-radius: 50%; background: var(--rd-s3); color: var(--rd-tx2); display: flex; align-items: center; justify-content: center; cursor: pointer; }
.sp-send { width: 42px; height: 42px; flex-shrink: 0; border: 0; border-radius: 50%; background: var(--rd-blue); color: #fff; display: flex; align-items: center; justify-content: center; cursor: pointer; transition: background .2s, color .2s, transform .15s; }
.sp-send:active { transform: scale(.92); }
.sp-send:disabled { background: var(--rd-s3); color: var(--rd-tx3); cursor: default; }

/* ═══ Карточка товара на весь экран (sku-selector.js), как карточка в Pinduoduo ═══ */
.rd-sheet-wrap.sk-full .rd-sheet { top: 0; max-height: none; height: 100%; border: 0; border-radius: 0; background: var(--rd-bg); padding: calc(90px + env(safe-area-inset-top, 0px)) 16px calc(176px + env(safe-area-inset-bottom, 0px)); overflow-y: auto; overscroll-behavior: contain; }
.sk-full .rd-sheet-handle, .sk-full .rd-sheet-backdrop { display: none; }
.sk-full .sk { gap: 0; }
.sk-full .sk-hero { position: relative; background: transparent; }
.sk-full .sk-gallery { gap: 10px; margin: 0; padding: 0; }
.sk-full .sk-slide { flex: 0 0 100%; max-width: none; aspect-ratio: 1 / 1; border-radius: var(--rd-r22); border: 1px solid var(--rd-line); background: var(--rd-s1); }
.sk-full .sk-slide:only-child { flex-basis: 100%; aspect-ratio: 1 / 1; }
.sk-full .sk-slide img { object-fit: contain; }
.sk-full .sk-slide-video img { background: rgb(0, 0, 0); }
/* «Назад» как .rd-back в других разделах: 42x42, радиус 14, под шапкой на отступе 74px (как .main-content) */
.sk-full .sk-close { position: absolute; z-index: 3; left: 28px; top: calc(86px + env(safe-area-inset-top, 0px)); width: 42px; height: 42px; display: inline-flex; align-items: center; justify-content: center; padding: 0; background: rgba(0, 0, 0, 0.55); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); cursor: pointer; }
.sk-full .sk-main { padding: 14px 0 8px; }
.sk-pos { position: absolute; right: 12px; bottom: 12px; padding: 3px 10px; border-radius: 999px; background: rgba(0, 0, 0, 0.6); color: rgb(255, 255, 255); font-size: 12px; font-weight: 600; font-variant-numeric: tabular-nums; pointer-events: none; }
.sk-thumbs { display: flex; gap: 8px; overflow-x: auto; scrollbar-width: none; padding: 12px 0 0; background: transparent; }
.sk-thumbs::-webkit-scrollbar { display: none; }
.sk-th { position: relative; flex: 0 0 56px; width: 56px; height: 56px; padding: 0; border: 2px solid transparent; border-radius: 10px; overflow: hidden; background: var(--rd-s2); cursor: pointer; -webkit-tap-highlight-color: transparent; }
.sk-th.on { border-color: var(--rd-b400); }
.sk-th img { width: 100%; height: 100%; object-fit: contain; display: block; pointer-events: none; }
.sk-th-col { position: absolute; inset: 0; background: var(--rd-s2); }
.sk-th-col img { position: absolute; width: auto; height: auto; object-fit: cover; }
.sk-th-play { position: absolute; inset: 0; background: rgba(0, 0, 0, 0.3); }
.sk-th-play::after { content: ""; position: absolute; left: 50%; top: 50%; margin: -7px 0 0 -4px; border-style: solid; border-width: 7px 0 7px 12px; border-color: transparent transparent transparent rgb(255, 255, 255); }
.sk-main { display: flex; flex-direction: column; gap: 12px; padding: 14px 16px 8px; }
.sk-pickrow { display: flex; align-items: center; gap: 10px; width: 100%; min-height: 52px; padding: 0 14px; color: var(--rd-tx); font: inherit; text-align: left; cursor: pointer; }
.sk-pickrow-k { flex: 0 0 auto; font-size: 14px; color: var(--rd-tx3); }
.sk-pickrow-v { flex: 1; min-width: 0; font-size: 14px; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sk-pickrow svg { flex: 0 0 auto; color: var(--rd-tx3); }
/* Панель «цена + Выбрать»: стеклянный «хвост», приставленный к нижнему меню (меню: bottom 12px, высота 68px) */
.sk-bar { position: fixed; z-index: 2; left: 12px; right: 12px; bottom: calc(80px + env(safe-area-inset-bottom, 0px)); display: flex; align-items: center; gap: 12px; padding: 12px 12px 12px 20px; background: var(--rd-glass-bg); border: 1px solid var(--rd-glass-line); border-bottom: 0; border-radius: 26px 26px 6px 6px; box-shadow: var(--rd-glass-shadow); -webkit-backdrop-filter: blur(24px) saturate(180%); backdrop-filter: blur(24px) saturate(180%); }
.sk-bar-sum { flex: 1; min-width: 0; font-size: 20px; font-weight: 800; color: var(--rd-tx); font-variant-numeric: tabular-nums; }
.sk-bar-btn { flex: 0 0 auto; min-width: 160px; }
.sk-pick { position: fixed; z-index: 4; inset: 0; display: flex; flex-direction: column; justify-content: flex-end; }
.sk-pick[hidden] { display: none; }
.sk-pick-back { position: absolute; inset: 0; background: rgba(2, 4, 8, 0.6); opacity: 0; transition: opacity .22s ease; }
.sk-pick.on .sk-pick-back { opacity: 1; }
.sk-pick-panel { position: relative; display: flex; flex-direction: column; max-height: 86%; background: var(--rd-s1); border-radius: 24px 24px 0 0; transform: translateY(100%); transition: transform .26s cubic-bezier(.16, 1, .3, 1); }
.sk-pick.on .sk-pick-panel { transform: none; }
.sk-pick-head { display: flex; align-items: flex-start; gap: 12px; padding: 16px 16px 10px; }
.sk-pick-head .sk-variant { flex: 0 0 88px; width: 88px; height: 88px; margin: 0; padding: 0; border: 0; overflow: hidden; background: var(--rd-s2); }
.sk-pick-head .sk-variant img { flex: 1; width: 100%; height: 100%; border-radius: 12px; object-fit: cover; }
.sk-pick-info { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.sk-pick-price { font-size: 22px; font-weight: 800; color: var(--rd-tx); font-variant-numeric: tabular-nums; }
.sk-pick-name { font-size: 13px; line-height: 1.35; color: var(--rd-tx2); overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.sk-pick-body { flex: 1; min-height: 0; overflow-y: auto; overscroll-behavior: contain; display: flex; flex-direction: column; gap: 12px; padding: 4px 16px 12px; }
.sk-pick-panel .sk-foot { position: static; margin: 0; padding: 12px 16px calc(14px + env(safe-area-inset-bottom, 0px)); }

/* Карточка товара: шапка и нижнее меню приложения видны поверх неё */
body.sk-open .app-header, body.sk-open .tab-bar { z-index: 9600 !important; }
body.sk-picking .tab-bar { display: none; }
.sk-slide img, .sk-th img { opacity: 0; transition: opacity .25s ease; }
.sk-slide img.ld, .sk-th img.ld { opacity: 1; }
.cl-box > div:first-child { text-align: center; padding-bottom: 14px; margin-bottom: 10px; border-bottom: 1px solid var(--rd-line); }

/* ═══ Нижнее меню в стиле WB: плоская чёрная панель до краёв, только иконки ═══
   Высота 80 = 68 рабочих + 12 запаса снизу: плавающая панель (bottom: 80px) по-прежнему садится вплотную. */
html body .tab-bar {
  left: 0 !important; right: 0 !important; bottom: 0 !important;
  height: 80px !important;
  padding: 0 4px 12px !important;
  background: #000 !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}
html body .tab-item,
html body .tab-item.center-calc-tab {
  justify-content: center !important;
  padding: 0 !important; margin: 0 !important;
  height: 100%;
  color: var(--rd-tx3) !important;
  background: transparent !important;
}
html body .tab-item.active,
html body .tab-item.center-calc-tab.active { color: var(--rd-b300) !important; }
html body .tab-item .tab-label { display: none !important; }
html body .tab-item .tab-icon,
html body .tab-item.center-calc-tab .tab-icon,
html body .tab-item.active .tab-icon,
html body .tab-item.center-calc-tab.active .tab-icon {
  width: 44px !important; height: 44px !important;
  margin: 0 !important;
  border-radius: 0 !important;
  background: none !important;
  box-shadow: none !important;
  color: inherit !important;
}
html body .tab-item .tab-icon svg,
html body .tab-item.center-calc-tab .tab-icon svg { width: 28px; height: 28px; }
html body #tabCartBadge { top: 2px !important; right: 0 !important; border-color: #000 !important; }

/* Панель действия (цена + кнопка) — одно целое с нижним меню: тот же чёрный фон, до краёв, вплотную */
html body .rd-cta,
html body .wb-sticky-dock,
html body #wbStickyDock {
  left: 0 !important; right: 0 !important; bottom: 80px !important; width: auto !important;
  padding: 12px 16px 10px !important;
  background: #000 !important;
  border: 0 !important;
  border-top: 1px solid var(--rd-line) !important;
  border-radius: 22px 22px 0 0 !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

/* Верхнее меню — зеркало нижнего: плоская чёрная панель до краёв, скруглены нижние углы.
   Высота 68; отступ экранов 78. Модули по центру: 42px, по 13px сверху и снизу. */
html body .app-header {
  top: 0 !important; left: 0 !important; right: 0 !important;
  height: 68px !important;
  padding: 16px 10px 0 9px !important;
  background: #000 !important;
  border: 0 !important;
  border-bottom: 1px solid var(--rd-line) !important;
  border-radius: 0 0 22px 22px !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

/* Верхнее меню всегда чёрное, в один цвет с системной шапкой Telegram (syncThemeChrome в app-core.js); */
html.lk-up body .app-header { z-index: 2147483050 !important; }
/* заставка гаснет 0.7с, а шапка Telegram синеет за 0.25с: шапку приложения держим над заставкой, чтобы синели вместе */
html.sp-out body .app-header { z-index: 2147483300 !important; }
html body .app-header .icon-btn,
html body .app-header .icon-btn svg,
html body .app-header #loginBtn,
html body .app-header .user-balance,
html body .app-header .balance-text { color: #fff !important; }
html body .app-header .icon-btn { background: transparent !important; }
html body .app-header .balance-add { background: #2F7BFF !important; color: #fff !important; }
html body .app-header .byn-sign { color: #fff !important; }

/* Шапка v2: крупный логотип слева; справа капсула «аватар + баланс + пополнить» и блок иконок.
   Высота прежняя (80), рабочая зона 58. */
html body .app-header { padding: 0 10px !important; align-items: center !important; gap: 6px; }
html body .app-header .header-left { order: 0; gap: 0; flex: 0 0 auto; }
html body .app-header .header-center { order: 1; margin: 0 auto; }
html body .app-header .header-right { order: 2; flex: 0 0 auto; }
html body .app-header .header-spacer { display: none !important; }
html body .app-header .logo-img { height: 42px !important; width: auto; margin: 0 !important; display: block; filter: drop-shadow(0 0 14px rgba(47,123,255,.35)); }

html body .app-header .user-card {
  height: 42px; padding: 0 4px 0 4px !important; gap: 6px !important;
  background: var(--rd-s2) !important; border: 1px solid var(--rd-line) !important;
  border-radius: 999px !important; box-shadow: none !important;
}
html body .app-header .user-avatar { width: 32px !important; height: 32px !important; border: 0 !important; font-size: 14px; }
html body .app-header .balance-island {
  height: auto !important; padding: 0 !important; gap: 6px !important;
  background: none !important; border: 0 !important;
  display: flex; align-items: center;
}
html body .app-header .balance-info { display: flex; flex-direction: column; justify-content: center; min-width: 0; line-height: 1.1; }
html body .app-header .balance-label { font-size: 10px; font-weight: 600; letter-spacing: .02em; color: var(--rd-tx3) !important; }
html body .app-header .balance-amount { font-size: 15px !important; font-weight: 800 !important; margin-top: 1px; }
html body .app-header .balance-icon svg { height: 13px; }
html body .app-header .balance-add { width: 32px; height: 32px; font-size: 21px; font-weight: 500; box-shadow: 0 0 0 3px rgba(47,123,255,.18) !important; }

html body .app-header .header-center {
  height: 42px; padding: 0 3px; gap: 0;
  background: var(--rd-s2); border: 1px solid var(--rd-line); border-radius: 999px;
}
html body .app-header .header-center .icon-btn { width: 34px !important; height: 34px !important; border-radius: 50% !important; }
html body .app-header .header-center .icon-btn svg { width: 20px; height: 20px; }
@media (max-width: 359px) {
  html body .app-header .logo-img { height: 38px !important; }
}

/* Вещи от клиентов */
.rs-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.rs-card{display:flex;flex-direction:column;gap:4px;text-align:left;background:none;border:0;padding:0;color:inherit;font:inherit;cursor:pointer}
.rs-img{position:relative;display:flex;align-items:center;justify-content:center;aspect-ratio:3/4;border-radius:var(--rd-r16);background:var(--rd-s2);color:var(--rd-t3,#888);overflow:hidden}
.rs-img img{width:100%;height:100%;object-fit:cover}
.rs-new{position:absolute;top:8px;left:8px}
.rs-price{font-weight:700;font-size:16px;margin-top:6px}
.rs-name{font-size:14px;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.rs-meta{font-size:12px;color:var(--rd-t3,#8a8a8f)}
.rs-gal{display:flex;gap:8px;overflow-x:auto;scroll-snap-type:x mandatory;margin-bottom:14px}
.rs-gal img{flex:0 0 78%;aspect-ratio:3/4;object-fit:cover;border-radius:var(--rd-r22);scroll-snap-align:start}
.rs-dprice{font-size:24px;font-weight:700;margin-bottom:8px}
.rs-kv{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--rd-line)}
.rs-buy{margin-top:12px}

/* ===== Отзывы: один экран ===== */
/* Площадки отзывов: баннер-«герой» экрана (единственный на экране) — насыщенный синий, белые плитки карт, круглые соцсети */
.rv-hub{position:relative;overflow:hidden;isolation:isolate;padding:14px 16px 14px;margin-bottom:14px;border:0;border-radius:var(--rd-r26);color:#fff;
  background:radial-gradient(120% 90% at 0% 0%,color-mix(in srgb,var(--rd-b400) 55%,transparent) 0%,transparent 58%),linear-gradient(135deg,var(--rd-blue-hi) 0%,var(--rd-blue) 52%,color-mix(in srgb,var(--rd-blue) 70%,#000) 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.28),inset 0 -1px 0 rgba(0,0,0,.18),0 14px 32px -16px color-mix(in srgb,var(--rd-blue) 55%,transparent);
  animation:rv-hub-in .42s cubic-bezier(.2,.8,.2,1) backwards}
/* Декор фона: большое кольцо справа и мягкий круг снизу слева */
.rv-hub::before{content:"";position:absolute;z-index:-1;top:-92px;right:-78px;width:230px;height:230px;border-radius:50%;border:22px solid rgba(255,255,255,.07)}
.rv-hub::after{content:"";position:absolute;z-index:-1;left:-60px;bottom:-90px;width:200px;height:200px;border-radius:50%;background:color-mix(in srgb,var(--rd-blue) 60%,#000);opacity:.45}
.rv-hub-art{position:absolute;z-index:-1;top:-4px;right:6px;width:80px;height:80px;transform:rotate(-8deg);pointer-events:none}
.rv-hub-head{margin:0 0 10px;padding-right:84px}
.rv-hub-title{font-size:24px;font-weight:800;line-height:1.1;letter-spacing:.01em;color:#fff}
.rv-hub-sub{margin-top:5px;font-size:13px;font-weight:500;line-height:17px;color:rgba(255,255,255,.8)}
.rv-maps{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
/* Плитка карты — одинаковый «скелет» Логотип → Имя → Таблетка у всех трёх. Ось плитки на 10px левее центра (справа место стрелке 20×20 в углу): логотип, имя и таблетка лежат строго на ней, зазор --rv-gap везде один. Длина слов и цифр центр не двигает: имя — flex-слот безопасной зоны, таблетка — жёсткий размер; трекинг --rv-ls свой у каждого слова (короткие шире) */
.rv-map{--rv-gap:5px;--rv-ls:-.02em;--rv-pill-w:64px;position:relative;display:flex;flex-direction:column;align-items:center;gap:var(--rv-gap);min-width:0;padding:12px 10px 10px;border-radius:var(--rd-r16);background:#fff;color:color-mix(in srgb,var(--rd-blue) 20%,#000);text-align:left;-webkit-tap-highlight-color:transparent;
  box-shadow:0 1px 0 rgba(255,255,255,.6) inset,0 8px 18px -8px rgba(0,0,0,.45);
  transition:transform .42s cubic-bezier(.34,1.56,.64,1);animation:rv-tile-in .44s cubic-bezier(.34,1.4,.64,1) backwards;animation-delay:calc(var(--i,0) * 50ms + 120ms)}
.rv-map:active{transform:scale(.97);transition-duration:.1s}
.rv-map-logo{display:block;width:calc(100% - 40px);height:auto;aspect-ratio:1;filter:drop-shadow(0 1px 1px rgba(0,0,0,.1)) drop-shadow(0 3px 5px rgba(0,0,0,.22))}
.rv-map-foot{display:flex;flex-direction:column;align-items:center;gap:var(--rv-gap);width:100%;min-width:0;padding:0}
/* Слот имени: ширина — безопасная зона плитки (foot минус по 10px вокруг оси), текст строго по центру слота. Трекинг оставляет «хвост» после последней буквы — гасим его полем с другой стороны, чтобы центр шёл по видимым буквам */
.rv-map-name{display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:calc(100% - 20px);min-width:0;padding:0 max(calc(var(--rv-ls) * -1),0em) 0 max(var(--rv-ls),0em);overflow:hidden;white-space:nowrap;font-size:13px;font-weight:800;line-height:16px;letter-spacing:var(--rv-ls)}
.rv-map[data-p="google-maps"]{--rv-ls:.02em}
.rv-map[data-p="2gis"]{--rv-ls:.08em}
/* Таблетка — жёсткий размер: одна ширина на всех (не шире безопасной зоны), цифры одной ширины, «4,9 ★» по центру без перекоса */
.rv-map-rate{box-sizing:border-box;flex:none;display:flex;align-items:center;justify-content:center;gap:1px;width:min(var(--rv-pill-w),calc(100% - 20px));height:20px;padding:0 0 0 7px;border-radius:999px;background:var(--rd-blue);box-shadow:0 1px 4px rgba(0,0,0,.22);font-size:12px;font-weight:800;line-height:20px;letter-spacing:-.01em;font-variant-numeric:tabular-nums;white-space:nowrap;color:#fff}
.rv-map-rate svg{flex:none;width:11px;height:11px;color:#ffc83d}
.rv-map-go{position:absolute;top:6px;right:6px;display:flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:var(--rd-blue);box-shadow:0 1px 4px rgba(0,0,0,.22);color:#fff}
.rv-map-go svg{width:12px;height:12px;transform:rotate(-45deg)}
.rv-soc{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px;padding-top:9px;border-top:1px solid rgba(255,255,255,.16)}
.rv-soc-label{flex:0 0 auto;font-size:12.5px;font-weight:700;line-height:15px;color:rgba(255,255,255,.9)}
.rv-soc-row{display:flex;gap:6px}
.rv-soc-btn{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:12px;-webkit-tap-highlight-color:transparent;
  transition:transform .42s cubic-bezier(.34,1.56,.64,1);animation:rv-tile-in .44s cubic-bezier(.34,1.4,.64,1) backwards;animation-delay:calc(var(--i,0) * 50ms + 120ms)}
.rv-soc-btn:active{transform:scale(.9);transition-duration:.1s}
.rv-soc-btn img{width:42px;height:42px;border-radius:12px;object-fit:cover;box-shadow:0 2px 6px rgba(0,20,70,.3)}
@keyframes rv-hub-in{from{opacity:0;transform:translateY(8px) scale(.985)}}
@keyframes rv-tile-in{from{opacity:0;transform:translateY(8px) scale(.94)}}
/* Телефоны до 389 (Android 360, iPhone mini): плитки и кружки чуть меньше */
@media (max-width:389px){.rv-hub{padding:14px 14px 12px}.rv-hub-title{font-size:22px}.rv-hub-sub{font-size:12.5px}.rv-hub-head{padding-right:70px}.rv-hub-art{width:70px;height:70px;right:4px}.rv-map{padding:10px 8px 8px}.rv-map-go{top:5px;right:5px}.rv-map-name{font-size:12px}.rv-map-rate{font-size:11px}.rv-map-rate svg{width:10px;height:10px}.rv-soc-btn{width:38px;height:38px}.rv-soc-btn img{width:38px;height:38px;border-radius:11px}.rv-soc-row{gap:5px}}
/* Совсем узкие (до 340): подпись соцсетей убираем, кружки по всей ширине */
@media (max-width:339px){.rv-soc-label{display:none}.rv-soc-row{flex:1;justify-content:space-between}.rv-map{padding:8px 6px 6px}.rv-map-go{top:4px;right:4px;width:18px;height:18px}.rv-map-go svg{width:11px;height:11px}.rv-map-name{font-size:11px;line-height:14px}.rv-map-rate{font-size:10px;line-height:14px}.rv-map-rate svg{width:9px;height:9px}}
@media (prefers-reduced-motion:reduce){.rv-hub,.rv-map,.rv-soc-btn{animation:none;transition:none}.rv-map:active,.rv-soc-btn:active{transform:none}}
/* ICE BONUS: герой-карточка баланса (профиль, кошелёк) — тот же язык, что .rv-hub: синий градиент, объёмная монета, крупная цифра, белые плитки */
.ib{position:relative;overflow:hidden;isolation:isolate;padding:16px 16px 14px;margin:0 0 14px;border-radius:var(--rd-r26);color:#fff;
  background:radial-gradient(120% 90% at 0% 0%,color-mix(in srgb,var(--rd-b400) 55%,transparent) 0%,transparent 58%),linear-gradient(135deg,var(--rd-blue-hi) 0%,var(--rd-blue) 52%,color-mix(in srgb,var(--rd-blue) 70%,#000) 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.28),inset 0 -1px 0 rgba(0,0,0,.18),0 14px 32px -16px color-mix(in srgb,var(--rd-blue) 55%,transparent);
  animation:rv-hub-in .42s cubic-bezier(.2,.8,.2,1) backwards}
.ib::before{content:"";position:absolute;z-index:-1;top:-92px;right:-78px;width:230px;height:230px;border-radius:50%;border:22px solid rgba(255,255,255,.07)}
.ib::after{content:"";position:absolute;z-index:-1;left:-60px;bottom:-90px;width:200px;height:200px;border-radius:50%;background:color-mix(in srgb,var(--rd-blue) 60%,#000);opacity:.45}
.ib-art{position:absolute;z-index:-1;top:6px;right:10px;width:96px;height:96px;transform:rotate(-10deg);pointer-events:none;filter:drop-shadow(0 8px 10px rgba(0,20,70,.35))}
.ib-title{font-size:24px;font-weight:800;line-height:1.1;letter-spacing:.01em}
.ib-sub{margin-top:5px;padding-right:100px;font-size:13px;font-weight:500;line-height:17px;color:rgba(255,255,255,.8)}
.ib-num{display:flex;align-items:baseline;gap:8px;margin:12px 0 12px}
.ib-num b{font-size:46px;font-weight:800;line-height:1;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.ib-num span{font-size:15px;font-weight:700;color:rgba(255,255,255,.88)}
.ib-tiles{display:grid;grid-template-columns:1fr;gap:8px}
.ib-tile{padding:12px 14px;border-radius:var(--rd-r16);background:#fff;color:color-mix(in srgb,var(--rd-blue) 20%,#000);box-shadow:0 1px 0 rgba(255,255,255,.6) inset,0 8px 18px -8px rgba(0,0,0,.45);animation:rv-tile-in .44s cubic-bezier(.34,1.4,.64,1) backwards;animation-delay:calc(var(--i,0) * 60ms + 120ms)}
.ib-tile-h{display:flex;align-items:baseline;justify-content:space-between;gap:10px;font-size:13px;font-weight:800;line-height:16px}
.ib-tile-h em{font-style:normal;font-variant-numeric:tabular-nums;color:var(--rd-blue)}
.ib-bar{height:8px;margin-top:8px;border-radius:999px;background:color-mix(in srgb,var(--rd-blue) 14%,#fff);overflow:hidden}
.ib-bar i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--rd-blue-hi),var(--rd-blue))}
.ib-tile-t{margin-top:6px;font-size:12.5px;font-weight:500;line-height:16px;color:color-mix(in srgb,var(--rd-blue) 25%,#556)}
.ib-way{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:13px;font-weight:600;line-height:18px}
.ib-way + .ib-way{margin-top:6px}
.ib-way b{flex:none;padding:2px 9px;border-radius:999px;background:var(--rd-blue);color:#fff;font-size:12px;font-weight:800;line-height:18px}
@media (max-width:389px){.ib{padding:14px 14px 12px}.ib-title{font-size:22px}.ib-sub{font-size:12.5px;padding-right:84px}.ib-art{width:80px;height:80px}.ib-num b{font-size:40px}}
@media (prefers-reduced-motion:reduce){.ib,.ib-tile{animation:none}}
/* ICE BONUS на экране оплаты: тот же герой, белая плитка с ползунком 0…max */
.co-bonus{position:relative;overflow:hidden;isolation:isolate;padding:16px 16px 14px;margin:0 0 14px;border-radius:var(--rd-r26);color:#fff;
  background:radial-gradient(120% 90% at 0% 0%,color-mix(in srgb,var(--rd-b400) 55%,transparent) 0%,transparent 58%),linear-gradient(135deg,var(--rd-blue-hi) 0%,var(--rd-blue) 52%,color-mix(in srgb,var(--rd-blue) 70%,#000) 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.28),inset 0 -1px 0 rgba(0,0,0,.18),0 14px 32px -16px color-mix(in srgb,var(--rd-blue) 55%,transparent);
  animation:rv-hub-in .42s cubic-bezier(.2,.8,.2,1) backwards}
.co-bonus[hidden]{display:none}
.co-bonus::before{content:"";position:absolute;z-index:-1;top:-92px;right:-78px;width:230px;height:230px;border-radius:50%;border:22px solid rgba(255,255,255,.07)}
.co-bonus::after{content:"";position:absolute;z-index:-1;left:-60px;bottom:-90px;width:200px;height:200px;border-radius:50%;background:color-mix(in srgb,var(--rd-blue) 60%,#000);opacity:.45}
.co-bonus-art{position:absolute;z-index:-1;top:6px;right:10px;width:88px;height:88px;transform:rotate(-10deg);pointer-events:none;filter:drop-shadow(0 8px 10px rgba(0,20,70,.35))}
.co-bonus-title{font-size:24px;font-weight:800;line-height:1.1;letter-spacing:.01em}
.co-bonus-sub{margin-top:5px;padding-right:92px;font-size:13px;font-weight:500;line-height:17px;color:rgba(255,255,255,.8)}
.co-bonus-tile{margin-top:12px;padding:12px 14px 10px;border-radius:var(--rd-r16);background:#fff;color:color-mix(in srgb,var(--rd-blue) 20%,#000);box-shadow:0 1px 0 rgba(255,255,255,.6) inset,0 8px 18px -8px rgba(0,0,0,.45);animation:rv-tile-in .44s cubic-bezier(.34,1.4,.64,1) backwards;animation-delay:140ms}
.co-bonus-line{display:flex;align-items:baseline;justify-content:space-between;gap:10px;font-size:14px;font-weight:800;line-height:18px}
.co-bonus-line b{font-size:18px;font-variant-numeric:tabular-nums;color:var(--rd-blue)}
.co-bonus-range{display:block;width:100%;height:28px;margin:6px 0 0;padding:0;background:transparent;-webkit-appearance:none;appearance:none;touch-action:pan-y;cursor:pointer;--fill:0%}
.co-bonus-range,.co-bonus-range:focus{background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;outline:none}
.co-bonus-range::-webkit-slider-runnable-track{height:8px;border-radius:999px;background:linear-gradient(90deg,var(--rd-blue) var(--fill),color-mix(in srgb,var(--rd-blue) 14%,#fff) var(--fill))}
.co-bonus-range::-moz-range-track{height:8px;border-radius:999px;background:color-mix(in srgb,var(--rd-blue) 14%,#fff)}
.co-bonus-range::-moz-range-progress{height:8px;border-radius:999px;background:var(--rd-blue)}
.co-bonus-range::-webkit-slider-thumb{-webkit-appearance:none;width:28px;height:28px;margin-top:-10px;border-radius:50%;background:#fff;border:3px solid var(--rd-blue);box-shadow:0 3px 8px rgba(0,20,70,.35)}
.co-bonus-range::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:#fff;border:3px solid var(--rd-blue);box-shadow:0 3px 8px rgba(0,20,70,.35)}
.co-bonus-range:active::-webkit-slider-thumb{transform:scale(1.1)}
.co-bonus-scale{display:flex;justify-content:space-between;margin-top:2px;font-size:12px;font-weight:600;line-height:16px;color:color-mix(in srgb,var(--rd-blue) 25%,#556);font-variant-numeric:tabular-nums}
.co-bonus-scale span{min-width:14px;text-align:center}
.co-bonus-scale span.on{font-weight:800;color:var(--rd-blue)}
@media (max-width:389px){.co-bonus{padding:14px 14px 12px}.co-bonus-title{font-size:22px}.co-bonus-sub{font-size:12.5px;padding-right:76px}.co-bonus-art{width:72px;height:72px}}
@media (prefers-reduced-motion:reduce){.co-bonus,.co-bonus-tile{animation:none}}
/* Лента отзывов: крупные белые плитки как карты в баннере, цветные аватарки, сводка рейтинга, сортировка, фото на весь экран */
.rv{--rv-ink:#0b1430;--rv-ink2:#6b7488;--rv-gold:#ffb800;--rv-gold-d:#f0a000}
.rv-cats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0 0 12px}
.rv-cat{position:relative;flex:none;min-width:0;display:flex;flex-direction:column;align-items:center;gap:3px;padding:8px 2px 8px;border:0;border-radius:var(--rd-r16);color:#fff;touch-action:manipulation;-webkit-tap-highlight-color:transparent;cursor:pointer;
  background:radial-gradient(120% 90% at 0% 0%,color-mix(in srgb,var(--rd-b400) 50%,transparent) 0%,transparent 60%),linear-gradient(150deg,var(--rd-blue-hi) 0%,var(--rd-blue) 60%,color-mix(in srgb,var(--rd-blue) 72%,#000) 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.28),0 10px 20px -12px color-mix(in srgb,var(--rd-blue) 70%,transparent);
  animation:rvCatIn .5s cubic-bezier(.34,1.56,.64,1) backwards;animation-delay:calc(var(--i) * 40ms);transition:background .2s,box-shadow .2s,filter .15s}
.rv-cat>*{pointer-events:none}
.rv-cat:active,.rv-cat.rv-press{filter:brightness(.88)}
.rv-cat,.rv-sort-b{-webkit-user-select:none;user-select:none}
.rv-cat-ic{position:relative;width:42px;height:42px;display:block;transition:transform .3s cubic-bezier(.34,1.56,.64,1)}
.rv-3d{width:100%;height:100%;display:block;overflow:visible}
.rv-cat.on .rv-cat-ic{transform:translateY(-2px) scale(1.1)}
.rv-cat-t{font-size:11px;letter-spacing:-.2px;font-weight:800;line-height:1.15;text-align:center;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rv-cat-n{position:absolute;top:-5px;right:-4px;z-index:2;min-width:19px;height:19px;padding:0 5px;border-radius:10px;background:#fff;color:var(--rd-blue);font-size:11px;font-weight:800;line-height:19px;text-align:center;box-shadow:0 3px 8px rgba(0,0,0,.45)}
.rv-cat.on{background:#fff;color:var(--rv-ink);box-shadow:0 14px 26px -12px color-mix(in srgb,var(--rd-blue) 85%,transparent),0 0 0 2px var(--rd-blue-hi)}
.rv-cat.on .rv-cat-n{background:var(--rd-blue);color:#fff}
.rv-bar{display:flex;align-items:stretch;gap:8px;margin-bottom:12px}
#rvSum{flex:0 0 auto;display:flex}
.rv-sum{display:flex;align-items:center;gap:8px;padding:0 12px;border-radius:16px;background:#fff;color:var(--rv-ink);box-shadow:0 10px 22px -14px color-mix(in srgb,var(--rd-blue) 60%,transparent);animation:rv-hub-in .42s cubic-bezier(.2,.8,.2,1) backwards}
.rv-sum-num{position:relative;top:1px;font-size:24px;font-weight:800;line-height:1;letter-spacing:-.04em;color:var(--rd-blue)}
.rv-sum-stars{position:relative;top:1px;width:114px;height:22px;line-height:0}
.rv-sum-st-bg,.rv-sum-st-fg{display:flex;gap:1px;height:22px}
.rv-sum-st-bg{color:color-mix(in srgb,var(--rd-blue) 14%,#fff)}
.rv-sum-st-fg{position:absolute;left:0;top:0;overflow:hidden;color:var(--rv-gold)}
.rv-sum-st-fg svg,.rv-sum-st-bg svg{flex:none}
.rv-sort{flex:1;min-width:0;display:flex;gap:3px;padding:4px;border-radius:16px;
  background:linear-gradient(135deg,var(--rd-blue-hi) 0%,var(--rd-blue) 60%,color-mix(in srgb,var(--rd-blue) 72%,#000) 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.28),0 10px 22px -14px color-mix(in srgb,var(--rd-blue) 70%,transparent)}
.rv-sort-b{flex:1;padding:10px 0;border:0;border-radius:12px;background:transparent;font-size:12px;font-weight:800;color:rgba(255,255,255,.82);white-space:nowrap;touch-action:manipulation;cursor:pointer;transition:background .25s,color .25s,box-shadow .25s;-webkit-tap-highlight-color:transparent}
.rv-sort-b>*{pointer-events:none}
.rv-sort-b:active,.rv-sort-b.rv-press{filter:brightness(.9)}
.rv-sort-b.on{background:#fff;color:var(--rd-blue);box-shadow:0 4px 10px -4px rgba(0,0,0,.35)}
.rv-list{display:flex;flex-direction:column;gap:12px}
.rv-card{position:relative;padding:16px;overflow:hidden;border-radius:var(--rd-r22);background:#fff;color:var(--rv-ink);box-shadow:0 1px 0 rgba(255,255,255,.6) inset,0 10px 24px -14px rgba(0,0,0,.6);animation:rv-tile-in .44s cubic-bezier(.34,1.4,.64,1) backwards;animation-delay:calc(var(--i,0)*50ms + 60ms)}
.rv-top{display:flex;align-items:flex-start;gap:12px;margin-bottom:12px}
.rv-ava{position:relative;overflow:hidden;width:46px;height:46px;border-radius:16px;color:#fff;font-size:20px;font-weight:800;display:flex;align-items:center;justify-content:center;flex:0 0 auto;box-shadow:0 6px 14px -6px rgba(0,0,0,.4),inset 0 1px 0 rgba(255,255,255,.35)}
.rv-who{flex:1;min-width:0}
.rv-name{font-weight:800;font-size:16px;line-height:20px;letter-spacing:-.015em;color:var(--rv-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rv-meta{font-size:12.5px;font-weight:500;color:var(--rv-ink2);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rv-rate{display:flex;align-items:center;flex-wrap:wrap;gap:8px 10px;margin-bottom:10px}
.rv-stars{display:flex;gap:2px;color:var(--rv-gold)}
.rv-ok{display:inline-flex;align-items:center;gap:5px;padding:4px 9px;border-radius:9px;background:color-mix(in srgb,var(--rd-blue) 12%,#fff);color:var(--rd-blue);font-size:12px;font-weight:800;line-height:15px}
.rv-text{margin:0;font-size:15px;line-height:1.5;font-weight:500;color:var(--rv-ink);white-space:pre-wrap;word-break:break-word}
.rv-photos{display:grid;gap:6px;margin-top:12px;border-radius:var(--rd-r16);overflow:hidden}
.rv-photos.n1{grid-template-columns:1fr}
.rv-photos.n2{grid-template-columns:1fr 1fr}
.rv-photos.n3{grid-template-columns:1.6fr 1fr;grid-template-rows:1fr 1fr}
.rv-photos.n3 .rv-ph:first-child{grid-row:1/3}
.rv-ph{position:relative;padding:0;overflow:hidden;background:#e8ecf4;aspect-ratio:1;-webkit-tap-highlight-color:transparent}
.rv-photos.n1 .rv-ph{aspect-ratio:16/10}
.rv-photos.n3 .rv-ph{aspect-ratio:auto;min-height:92px}
.rv-ph img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s cubic-bezier(.2,.8,.2,1)}
.rv-ph:active img{transform:scale(1.04)}
.rv-ph-more{position:absolute;inset:0;background:rgba(8,16,40,.58);color:#fff;font-size:20px;font-weight:800;display:flex;align-items:center;justify-content:center}
.rv-more{display:flex;align-items:center;gap:4px;margin-top:12px;padding:0;color:var(--rd-blue);font-size:13.5px;font-weight:800}
.rv-more svg{transition:transform .2s}
.rv-more[aria-expanded="true"] svg{transform:rotate(180deg)}
.rv-det{margin-top:8px;padding:10px 12px;background:#f2f5fb;border-radius:var(--rd-r12)}
.rv-det[hidden]{display:none}
.rv-det-row{display:flex;justify-content:space-between;gap:12px;font-size:13px;padding:4px 0;color:var(--rv-ink2)}
.rv-det-row b{color:var(--rv-ink);font-weight:700;text-align:right}
.rv-reply{position:relative;margin-top:12px;padding:12px 14px 12px 16px;border-radius:var(--rd-r16);background:color-mix(in srgb,var(--rd-blue) 8%,#fff);overflow:hidden}
.rv-reply::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,var(--rd-blue-hi),var(--rd-blue))}
.rv-reply-h{display:flex;align-items:center;gap:7px;font-size:13px;color:var(--rd-blue)}
.rv-reply-ic{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:var(--rd-blue);color:#fff}
.rv-reply p{margin:6px 0 0;font-size:14px;line-height:1.45;font-weight:500;color:var(--rv-ink)}
.rv-ava img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
/* Лайк-сердце внизу карточки (зона касания 44x44), подвал */
.rv-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:12px -4px -6px;padding-top:6px;border-top:1px solid color-mix(in srgb,var(--rv-ink) 7%,transparent)}
.rv-foot-t{font-size:13px;font-weight:700;color:var(--rv-ink2);padding-right:4px}
.rv-likebox{flex:0 0 auto;display:flex;align-items:center;gap:2px}
.rv-like{position:relative;display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--rv-ink2);touch-action:manipulation;cursor:pointer;transition:transform .2s cubic-bezier(.34,1.56,.64,1),color .25s;-webkit-tap-highlight-color:transparent}
.rv-like::before{content:"";position:absolute;inset:5px;border-radius:50%;background:color-mix(in srgb,var(--rd-blue) 10%,#fff);z-index:0;transition:background .25s,box-shadow .25s}
.rv-like svg{position:relative;z-index:1}
.rv-like-n{min-width:18px;font-size:15px;font-weight:800;line-height:20px;color:var(--rv-ink2);font-variant-numeric:tabular-nums}
.rv-like:active{transform:scale(.9)}
.rv-like.on{color:#fff}
.rv-like.on::before{background:linear-gradient(135deg,var(--rd-blue-hi),var(--rd-blue));box-shadow:0 6px 14px -6px color-mix(in srgb,var(--rd-blue) 80%,transparent)}
.rv-like.on+.rv-like-n{color:var(--rd-blue)}
.rv-like.pop svg{animation:rv-heart-beat .5s cubic-bezier(.34,1.56,.64,1)}
@keyframes rv-heart-beat{0%{transform:scale(.6)}55%{transform:scale(1.3)}100%{transform:none}}
.rv-card{touch-action:manipulation;-webkit-user-select:none;user-select:none}
.rv-demo{display:inline-flex;align-items:center;padding:3px 8px;border-radius:8px;background:linear-gradient(135deg,var(--rd-blue-hi),var(--rd-blue));color:#fff;font-size:11px;font-weight:800;line-height:14px;letter-spacing:.04em;text-transform:uppercase}
/* Голосовые и кружки в карточке */
.rv-media{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin-top:12px}
.rv-voice{display:flex;align-items:center;gap:12px;width:100%;padding:8px 14px 8px 8px;border-radius:999px;background:color-mix(in srgb,var(--rd-blue) 9%,#fff);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform .15s}
.rv-voice:active{transform:scale(.98)}
.rv-voice.off{cursor:default}
.rv-voice.off:active{transform:none}
.rv-vplay{flex:0 0 auto;display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:linear-gradient(135deg,var(--rd-blue-hi),var(--rd-blue));color:#fff;box-shadow:0 8px 16px -8px color-mix(in srgb,var(--rd-blue) 90%,transparent),inset 0 1px 0 rgba(255,255,255,.3);touch-action:manipulation;transition:transform .2s cubic-bezier(.34,1.56,.64,1)}
.rv-voice.playing .rv-vplay{transform:scale(1.06)}
.rv-vmic{background:#fff;color:var(--rd-blue);box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--rd-blue) 25%,#fff)}
.rv-vbody{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.rv-wave{display:flex;align-items:center;gap:2px;height:30px}
.rv-wave i{flex:1;min-width:2px;max-width:5px;height:var(--h,50%);border-radius:3px;background:color-mix(in srgb,var(--rd-blue) 28%,#fff);transition:background-color .12s}
.rv-wave i.on{background:var(--rd-blue)}
.rv-voice.playing .rv-wave i{animation:rv-wave-b .9s ease-in-out infinite alternate;animation-delay:calc(var(--k,0)*40ms)}
.rv-voice .rv-wave i:nth-child(3n){--k:1}.rv-voice .rv-wave i:nth-child(3n+1){--k:3}.rv-voice .rv-wave i:nth-child(3n+2){--k:5}
@keyframes rv-wave-b{from{transform:scaleY(.72)}to{transform:scaleY(1.08)}}
.rv-vnote-s{font-size:12.5px;font-weight:600;color:var(--rv-ink2)}
.rv-vtime{flex:0 0 auto;min-width:34px;text-align:right;font-size:13px;font-weight:800;color:var(--rd-blue);font-variant-numeric:tabular-nums}
.rv-vnote{position:relative;flex:0 0 auto;width:160px;height:160px;border-radius:50%;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform .15s;box-shadow:0 14px 26px -14px color-mix(in srgb,var(--rd-blue) 85%,transparent)}
.rv-vnote:active{transform:scale(.97)}
.rv-vnote[data-rv-auto]{transition:transform .38s cubic-bezier(.34,1.56,.64,1),box-shadow .3s}
.rv-vnote.snd{transform:scale(1.07)}
.rv-vnote.snd:active{transform:scale(1.03)}
.rv-vnote.off{cursor:default}
.rv-vnote.off:active{transform:none}
.rv-vn-disc{position:absolute;inset:5px;overflow:hidden;border-radius:50%;background:linear-gradient(135deg,var(--rd-blue-hi),var(--rd-blue));transform:translateZ(0);isolation:isolate}
.rv-vn-disc video{width:100%;height:100%;object-fit:cover;display:block}
.rv-vn-bg{position:absolute;inset:0;display:block}
.rv-vn-bg::after{content:"";position:absolute;left:-20%;top:-30%;width:90%;height:70%;border-radius:50%;background:rgba(255,255,255,.18)}
.rv-vn-ring{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg);pointer-events:none}
.rv-vn-track{fill:none;stroke:rgba(255,255,255,.14);stroke-width:2.2;opacity:0;transition:opacity .3s}
.rv-vnote.snd .rv-vn-track,.rv-vnote.playing .rv-vn-track{opacity:1}
.rv-vn-arc{fill:none;stroke:#fff;stroke-width:2.6;stroke-linecap:round;stroke-dasharray:100 100;stroke-dashoffset:calc(100 - var(--p,0)*100);filter:drop-shadow(0 0 3px color-mix(in srgb,var(--rd-blue-hi) 90%,transparent))}
.rv-vnote[data-demo] .rv-vn-arc{transition:stroke-dashoffset .12s linear}
.rv-vn-btn{position:absolute;left:50%;top:50%;display:flex;align-items:center;justify-content:center;width:56px;height:56px;margin:-28px 0 0 -28px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.92);color:var(--rd-blue);box-shadow:0 8px 18px -8px rgba(0,0,0,.5);touch-action:manipulation;transition:opacity .25s,transform .2s cubic-bezier(.34,1.56,.64,1)}
.rv-vnote.playing .rv-vn-btn{opacity:0;transform:scale(.8)}
.rv-vn-off{background:rgba(255,255,255,.85)}
.rv-vn-time{position:absolute;right:8px;bottom:12px;padding:2px 8px;border-radius:999px;background:rgba(8,16,40,.6);color:#fff;font-size:12px;font-weight:800;line-height:16px;font-variant-numeric:tabular-nums;pointer-events:none}
.rv-vn-cap{position:absolute;left:0;right:0;bottom:22px;text-align:center;color:#fff;font-size:12px;font-weight:700;pointer-events:none}
/* кружок как в Telegram: сам играет без звука по кругу, пока виден; кнопка «играть» нужна только заглушке */
.rv-vnote[data-rv-auto]:not(.snd) .rv-vn-btn{display:none}
.rv-vn-snd{position:absolute;left:50%;bottom:9px;display:flex;align-items:center;justify-content:center;width:30px;height:30px;margin-left:-15px;border-radius:50%;background:linear-gradient(135deg,var(--rd-blue-hi),var(--rd-blue));color:#fff;border:2px solid rgba(255,255,255,.9);box-shadow:0 8px 16px -6px color-mix(in srgb,var(--rd-blue) 90%,transparent);pointer-events:none;animation:rvSndPulse 2.4s ease-in-out infinite}
.rv-vnote.snd .rv-vn-snd,.rv-vnote.playing .rv-vn-snd{display:none}
@keyframes rvSndPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.1)}}
/* плавающий кружок (как в Telegram): со звуком ушёл с экрана — едет в правый верхний угол */
#rvFloat{position:fixed;top:calc(78px + env(safe-area-inset-top,0px));right:12px;z-index:90;pointer-events:none}
#rvFloat .rv-vn-fl{pointer-events:auto;width:116px;height:116px;transform:none;box-shadow:0 18px 34px -12px rgba(0,0,0,.75),0 0 0 1px rgba(255,255,255,.08);animation:rvFlyIn .42s cubic-bezier(.34,1.4,.64,1) both}
#rvFloat .rv-vn-fl:active{transform:scale(.96)}
#rvFloat .rv-vn-fl .rv-vn-disc{inset:4px}
#rvFloat .rv-vn-fl .rv-vn-time{right:50%;margin-right:-22px;bottom:10px;font-size:11px}
.rv-vn-ph{flex:0 0 auto;width:160px;height:160px;border-radius:50%}
.rv-vn-x{position:absolute;top:-2px;right:-2px;z-index:3;display:flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;border:2px solid rgba(255,255,255,.9);border-radius:50%;background:linear-gradient(135deg,var(--rd-blue-hi),var(--rd-blue));color:#fff;box-shadow:0 6px 14px -4px color-mix(in srgb,var(--rd-blue) 90%,transparent);touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:transform .15s}
.rv-vn-x:active{transform:scale(.88)}
@keyframes rvFlyIn{0%{opacity:0;transform:translate(26px,-26px) scale(.55)}100%{opacity:1;transform:none}}
/* жалоба на отзыв */
.rv-foot-r{display:flex;align-items:center;gap:8px}
.rv-flag{display:flex;align-items:center;justify-content:center;flex:0 0 auto;width:40px;height:40px;padding:0;border:0;border-radius:50%;background:color-mix(in srgb,var(--rv-ink) 7%,transparent);color:var(--rv-ink2);-webkit-tap-highlight-color:transparent;touch-action:manipulation;transition:transform .15s,background .2s,color .2s}
.rv-flag:active{transform:scale(.92)}
.rv-flag.sent{background:linear-gradient(135deg,var(--rd-blue-hi),var(--rd-blue));color:#fff;box-shadow:0 8px 16px -8px color-mix(in srgb,var(--rd-blue) 90%,transparent)}
.rv-flag:disabled{opacity:.7}
.rv-skel{display:flex;flex-direction:column;gap:10px;background:var(--rd-s1);box-shadow:none;animation:none}
.rv-sk-a{height:46px;width:55%;border-radius:14px}
.rv-sk-b{height:14px;border-radius:8px}
.rv-sk-c{height:14px;width:70%;border-radius:8px}
.rv-sentinel{height:1px}
.rv-heart-pop{position:absolute;color:var(--rd-blue);pointer-events:none;animation:rvPop .8s ease-out forwards}
@keyframes rvCatIn{from{transform:translateY(10px) scale(.9);opacity:0}to{transform:none;opacity:1}}
@keyframes rvPop{0%{transform:scale(.3);opacity:0}30%{transform:scale(1.1);opacity:1}100%{transform:scale(1.4);opacity:0}}
/* Фото на весь экран */
.rv-lb{position:fixed;inset:0;z-index:10000;background:rgba(0,0,0,.96);display:flex;flex-direction:column;animation:rv-lb-in .25s ease-out}
.rv-lb.out{opacity:0;transition:opacity .2s}
.rv-lb-bar{display:flex;align-items:center;justify-content:space-between;padding:calc(env(safe-area-inset-top,0px) + 14px) 16px 10px}
.rv-lb-n{padding:6px 12px;border-radius:12px;background:rgba(255,255,255,.14);color:#fff;font-size:14px;font-weight:800}
.rv-lb-x{width:42px;height:42px;border-radius:14px;background:rgba(255,255,255,.14);color:#fff;display:flex;align-items:center;justify-content:center}
.rv-lb-track{flex:1;min-height:0;display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;touch-action:pan-x;transition:transform .25s}
.rv-lb-track::-webkit-scrollbar{display:none}
.rv-lb-slide{flex:0 0 100%;scroll-snap-align:center;display:flex;align-items:center;justify-content:center;padding:0 0 calc(env(safe-area-inset-bottom,0px) + 16px)}
.rv-lb-slide img{max-width:100%;max-height:100%;object-fit:contain;border-radius:var(--rd-r16);-webkit-user-drag:none}
@keyframes rv-lb-in{from{opacity:0}}
@media (max-width:389px){.rv-sort-b{font-size:12px}.rv-card{padding:14px}.rv-ava{width:42px;height:42px}.rv-name{font-size:15px}.rv-text{font-size:14.5px}}
@media (prefers-reduced-motion:reduce){.rv-sum,.rv-card,.rv-like.pop svg,.rv-voice.playing .rv-wave i,.rv-lb,.rv-vn-snd,#rvFloat .rv-vn-fl{animation:none}.rv-flag{transition:none}.rv-sort-b,.rv-like,.rv-vplay,.rv-vn-btn,.rv-vn-arc,.rv-vnote,.rv-vn-track,.rv-ph img,.rv-lb-track{transition:none}}

/* Отзывы, этап 1: номера заказов, ответ ICE LOGIX, «Решено», «Хочу так же», «Вас ждёт отзыв», экран «Товары из отзыва» */
.rv-ask{position:relative;display:flex;align-items:center;gap:12px;width:100%;margin:0 0 14px;padding:12px 14px;border:0;border-radius:var(--rd-r22);overflow:hidden;isolation:isolate;text-align:left;color:#fff;
  background:radial-gradient(90% 120% at 100% 0%,color-mix(in srgb,var(--rd-b400) 50%,transparent) 0%,transparent 60%),linear-gradient(135deg,var(--rd-blue-hi) 0%,var(--rd-blue) 60%,color-mix(in srgb,var(--rd-blue) 70%,#000) 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.22),0 14px 28px -16px color-mix(in srgb,var(--rd-blue) 90%,transparent);animation:rv-hub-in .42s cubic-bezier(.2,.8,.2,1) backwards;transition:transform .15s}
.rv-ask::after{content:"";position:absolute;z-index:-1;right:-40px;top:-50px;width:130px;height:130px;border-radius:50%;border:16px solid rgba(255,255,255,.08)}
.rv-ask:active{transform:scale(.97)}
.rv-ask-ic{flex:0 0 auto;display:flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:50%;background:#fff;color:var(--rd-blue);box-shadow:0 0 0 3px rgba(255,255,255,.25),0 8px 16px -8px rgba(0,0,0,.45)}
.rv-ask-b{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.rv-ask-b b{font-size:17px;font-weight:800;line-height:21px;letter-spacing:-.01em}
.rv-ask-b small{font-size:13px;font-weight:500;line-height:17px;color:rgba(255,255,255,.82)}
.rv-ask-go{flex:0 0 auto;display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:12px;background:rgba(255,255,255,.18)}
.rv-orders{display:flex;align-items:center;gap:7px;margin-top:12px;font-size:13px;font-weight:600;color:var(--rv-ink2)}
.rv-orders svg{flex:0 0 auto;color:var(--rd-blue)}
.rv-orders b{font-weight:800;color:var(--rv-ink);letter-spacing:.01em}
.rv-mreply .rv-reply-h b{font-weight:800}
.rv-mreply-t{white-space:pre-wrap;word-break:break-word}
.rv-solved{margin-top:10px;padding:10px 12px;border-radius:14px;background:#fff;box-shadow:0 6px 14px -10px color-mix(in srgb,var(--rd-blue) 70%,transparent)}
.rv-solved-h{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.rv-solved-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 9px 3px 7px;border-radius:999px;background:var(--rd-green,#22c55e);color:#fff;font-size:12px;font-weight:800}
.rv-solved-meta{font-size:12px;font-weight:600;color:var(--rv-ink2)}
.rv-solved-stars{display:flex;gap:2px;margin-top:6px;color:var(--rv-gold)}
.rv .rv-reply .rv-solved-t,.rv-solved-t{margin:6px 0 0;font-size:14px;line-height:1.45;font-weight:500;color:var(--rv-ink);white-space:pre-wrap;word-break:break-word}
.rv-acts{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}
.rv-act{display:flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:0 10px;border:0;border-radius:14px;background:color-mix(in srgb,var(--rd-blue) 10%,#fff);color:var(--rd-blue);font-size:14px;font-weight:800;line-height:1.1;transition:transform .15s}
.rv-act-main{background:linear-gradient(135deg,var(--rd-blue-hi),var(--rd-blue));color:#fff;box-shadow:0 10px 20px -12px color-mix(in srgb,var(--rd-blue) 90%,transparent)}
.rv-act:active{transform:scale(.97)}
.rv-ipage{--rv-ink:#0b1430;--rv-ink2:#6b7488}
.rv-ihero{min-height:150px;padding:18px 16px 16px}
.rv-ihero-art{position:absolute;right:8px;top:10px;width:108px;height:108px;filter:drop-shadow(0 12px 18px rgba(0,0,0,.3));animation:rv-tile-in .5s .1s cubic-bezier(.34,1.4,.64,1) backwards}
.rv-ihero-t{position:relative;max-width:calc(100% - 112px);font-size:24px;font-weight:800;line-height:1.1;color:#fff}
.rv-ihero-s{position:relative;max-width:calc(100% - 112px);margin-top:6px;font-size:13px;font-weight:500;line-height:17px;color:rgba(255,255,255,.82)}
.rv-ihero-nums{position:relative;display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}
.rv-ihero-nums span{display:inline-flex;align-items:center;gap:5px;padding:6px 10px;border-radius:12px;background:#fff;color:var(--rv-ink);font-size:13px;font-weight:800}
.rv-ihero-nums svg{color:var(--rd-blue)}
.rv-items{display:flex;flex-direction:column;gap:10px}
.rv-item{display:flex;gap:12px;padding:12px;border-radius:var(--rd-r22);background:#fff;color:var(--rv-ink);box-shadow:0 10px 24px -14px rgba(0,0,0,.6);animation:rv-tile-in .44s cubic-bezier(.34,1.4,.64,1) backwards;animation-delay:calc(var(--i,0)*50ms + 60ms)}
.rv-item-ph{position:relative;flex:0 0 auto;width:84px;height:84px;border-radius:var(--rd-r16);overflow:hidden;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--rd-blue) 10%,#fff);color:var(--rd-blue)}
.rv-item-ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.rv-item-b{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}
.rv-item-t{font-size:15px;font-weight:800;line-height:19px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.rv-item-m{font-size:12.5px;font-weight:600;color:var(--rv-ink2)}
.rv-item-want{margin-top:auto;align-self:flex-start;min-height:38px;padding:0 14px}
@media (prefers-reduced-motion:reduce){.rv-ask,.rv-item,.rv-ihero-art{animation:none}.rv-ask,.rv-act{transition:none}.rv-ask:active,.rv-act:active{transform:none}}

/* Шапка: активная иконка раздела — синий акцент */
html body .app-header .header-center .icon-btn.active-header-btn { background: rgba(47,123,255,.18) !important; border-color: transparent !important; color: var(--rd-blue, #2f7bff) !important; box-shadow: none !important; }

/* ═══ Главная 2026-11 (home2): плитки площадок, лента баннеров, разделы 3×2, подборки ═══ */
.hm [hidden]{display:none!important}

/* Площадки: крупные плитки-логотипы, лента прокручивается */
.hm-mps{display:flex;gap:10px;overflow-x:auto;scrollbar-width:none;margin:0 -16px;padding:2px 16px 4px;scroll-snap-type:x proximity;scroll-padding-left:16px}
.hm-mps::-webkit-scrollbar{display:none}
.hm .hm-mp{flex:0 0 auto;width:62px;display:flex;flex-direction:column;align-items:center;gap:6px;margin:0;padding:0;border:0;background:none;color:var(--rd-tx2);cursor:pointer;scroll-snap-align:start;-webkit-tap-highlight-color:transparent;animation:hm-pop .4s cubic-bezier(.2,.8,.2,1) backwards;animation-delay:calc(var(--i,0)*40ms)}
.hm-mp-tile{position:relative;display:flex;align-items:center;justify-content:center;width:62px;height:62px;border-radius:18px;overflow:hidden;background:#fff;box-shadow:0 0 0 1px var(--rd-line),0 8px 18px -12px rgba(0,0,0,.7);transition:transform .15s}
.hm-mp-tile img{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.13);-webkit-user-drag:none}
.hm-mp-all .hm-mp-tile{background:var(--rd-s2);color:var(--rd-b300)}
.hm .hm-mp:active .hm-mp-tile{transform:scale(.94)}
.hm-mp-name{max-width:66px;font-size:11.5px;font-weight:700;line-height:1.2;color:var(--rd-tx2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* Баннеры: бесконечная лента в одну сторону, соседний слайд выглядывает */
.hb{position:relative;margin:12px -16px 0}
.hb-view{overflow:hidden;touch-action:pan-y;-webkit-user-select:none;user-select:none}
.hb-track{display:flex;gap:8px;width:calc(100% - 40px);margin-left:20px;will-change:transform}
.hb-slide{position:relative;flex:0 0 100%;aspect-ratio:7/3;min-height:138px;overflow:hidden;isolation:isolate;border-radius:var(--rd-r22);color:#fff;cursor:pointer;
  background:radial-gradient(120% 100% at 0% 0%,rgba(255,255,255,.18) 0%,transparent 55%),linear-gradient(135deg,var(--rd-blue-hi) 0%,var(--rd-blue) 55%,color-mix(in srgb,var(--rd-blue) 62%,#000) 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.25)}
.hb-slide::before{content:"";position:absolute;z-index:-1;top:-70px;right:-50px;width:190px;height:190px;border-radius:50%;border:20px solid rgba(255,255,255,.08)}
.hb-slide::after{content:"";position:absolute;z-index:-1;left:-40px;bottom:-80px;width:170px;height:170px;border-radius:50%;background:rgba(0,0,0,.14)}
.hb-c-gift{background:radial-gradient(120% 100% at 0% 0%,rgba(255,255,255,.18) 0%,transparent 55%),linear-gradient(135deg,#5B8CFF 0%,#3D5BF0 50%,#2A2FB8 100%)}
.hb-c-legit{background:radial-gradient(120% 100% at 0% 0%,rgba(255,255,255,.16) 0%,transparent 55%),linear-gradient(135deg,#1FA4F0 0%,#1676D8 52%,#0F4BA0 100%)}
.hb-c-bag{background:radial-gradient(120% 100% at 0% 0%,rgba(255,255,255,.16) 0%,transparent 55%),linear-gradient(135deg,#3B7BFF 0%,#2257E0 50%,#14329E 100%)}
.hb-c-promo{background:radial-gradient(120% 100% at 0% 0%,rgba(255,255,255,.2) 0%,transparent 55%),linear-gradient(135deg,#4F7DFF 0%,#2F5BFF 45%,#1B2FA8 100%)}
.hb-txt{position:relative;z-index:1;display:flex;flex-direction:column;align-items:flex-start;height:100%;max-width:64%;padding:14px 0 14px 16px;box-sizing:border-box}
.hb-k{font-size:11.5px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:rgba(255,255,255,.78)}
.hb-t{margin-top:4px;font-size:23px;font-weight:900;line-height:1.08;letter-spacing:-.02em}
.hb-t .byn-price{font-weight:900}
.hb-s{margin-top:4px;font-size:12.5px;font-weight:600;line-height:1.25;color:rgba(255,255,255,.86);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.hb-btn{display:inline-flex;align-items:center;gap:3px;margin-top:auto;height:30px;padding:0 10px 0 13px;border-radius:999px;background:#fff;color:var(--rd-blue);font-size:13px;font-weight:800;box-shadow:0 6px 14px -8px rgba(0,0,0,.5)}
.hb-art{position:absolute;z-index:0;right:4px;top:50%;width:41%;max-width:150px;aspect-ratio:1;transform:translateY(-50%);pointer-events:none}
.hb-art svg{display:block;animation:hm-float 4s ease-in-out infinite}
.hb-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-1;-webkit-user-drag:none}
.hb-img .hb-txt{justify-content:flex-end;max-width:80%;background:none}
.hb-img::after{left:0;right:0;bottom:0;top:auto;width:auto;height:60%;border-radius:0;background:linear-gradient(0deg,rgba(0,0,0,.55),transparent)}
.hb-img::before{display:none}
.hb-dots{display:flex;justify-content:center;gap:5px;margin-top:8px}
.hb-dots i{width:6px;height:6px;border-radius:3px;background:var(--rd-tx4,rgba(255,255,255,.25));transition:width .25s,background .25s}
.hb-dots i.on{width:18px;background:var(--rd-blue)}

/* Разделы: компактный синий блок, 6 белых плиток 3×2 */
.hm-hub{position:relative;overflow:hidden;isolation:isolate;margin-top:12px;padding:10px;border-radius:var(--rd-r22);color:#fff;
  background:radial-gradient(120% 90% at 0% 0%,color-mix(in srgb,var(--rd-b400) 55%,transparent) 0%,transparent 58%),linear-gradient(135deg,var(--rd-blue-hi) 0%,var(--rd-blue) 52%,color-mix(in srgb,var(--rd-blue) 70%,#000) 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.28),inset 0 -1px 0 rgba(0,0,0,.18),0 14px 32px -16px color-mix(in srgb,var(--rd-blue) 55%,transparent);
  animation:hm-pop .42s cubic-bezier(.2,.8,.2,1) backwards;animation-delay:.08s}
.hm-hub::before{content:"";position:absolute;z-index:-1;top:-92px;right:-78px;width:230px;height:230px;border-radius:50%;border:22px solid rgba(255,255,255,.07)}
.hm-hub::after{content:"";position:absolute;z-index:-1;left:-60px;bottom:-90px;width:200px;height:200px;border-radius:50%;background:color-mix(in srgb,var(--rd-blue) 60%,#000);opacity:.45}
.hm-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.hm .hm-q{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:0;height:64px;margin:0;padding:6px 4px 7px;border:0;border-radius:var(--rd-r16);background:#fff;color:#0b2a66;text-align:center;cursor:pointer;-webkit-tap-highlight-color:transparent;box-shadow:0 6px 14px -8px rgba(5,25,80,.55);animation:hm-pop .42s cubic-bezier(.2,.8,.2,1) backwards;animation-delay:calc(var(--i,0)*45ms + 140ms);transition:transform .15s}
.hm .hm-q:active{transform:scale(.97)}
.hm-q-ico{display:block;width:34px;height:34px;flex:0 0 auto}
.hm-q-label{max-width:100%;font-size:12px;font-weight:800;line-height:1.15;letter-spacing:-.005em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* Трекер заказа: компактная строка над плитками */
.hm .hm-track{display:flex;align-items:center;gap:10px;width:100%;margin:0 0 7px;padding:6px 10px 6px 6px;border:0;border-radius:var(--rd-r16);text-align:left;color:#fff;cursor:pointer;-webkit-tap-highlight-color:transparent;
  background:rgba(4,18,60,.34);box-shadow:inset 0 0 0 1px rgba(255,255,255,.22);transition:transform .15s}
.hm .hm-track:active{transform:scale(.985)}
.hm-track-ico{flex:0 0 auto;width:38px;height:38px}
.hm-track-body{flex:1;min-width:0;display:block}
.hm-track-k{display:block;font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:rgba(255,255,255,.75)}
.hm-track[data-tone="warn"] .hm-track-k,.hm-track[data-tone="bad"] .hm-track-k{color:#FFD76A}
.hm-track-t{display:block;margin-top:1px;font-size:13.5px;font-weight:800;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hm-track-bar{display:block;position:relative;height:4px;margin-top:5px;border-radius:2px;background:rgba(255,255,255,.22);overflow:hidden}
.hm-track-bar::after{content:"";position:absolute;inset:0;width:var(--p,10%);border-radius:2px;background:linear-gradient(90deg,#fff,#BBD7FF)}
.hm-track-go{flex:0 0 auto;display:flex;color:#fff;opacity:.85}

/* Подборки дня и Рекомендуем */
.hm-sec{margin-top:22px}
.hm-sec .rd-section{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 12px}
.hm-sec .rd-section h2{font-size:21px;font-weight:900;letter-spacing:-.02em}
.hm-badge{display:inline-flex;align-items:center;gap:5px;height:28px;padding:0 11px 0 9px;border-radius:999px;font-size:12px;font-weight:800;white-space:nowrap}
.hm-badge svg{flex:0 0 auto}
.hm-badge-pick{background:linear-gradient(135deg,#FFD76A,#FF8F1F);color:#5a2a00}
.hm-badge-reco{background:var(--rd-tint-2);color:var(--rd-b300)}
.hm-pick-mark{position:absolute;left:8px;bottom:8px;z-index:2;display:inline-flex;align-items:center;gap:3px;height:22px;padding:0 8px 0 6px;border-radius:7px;background:linear-gradient(135deg,#FFD76A,#FF8F1F);color:#5a2a00;font-size:11px;font-weight:800;letter-spacing:.01em;box-shadow:0 4px 10px -4px rgba(0,0,0,.45);pointer-events:none}
.hm-pick-mark svg{width:12px;height:12px}
#homeProductsGrid .pc-dots{bottom:36px}

@keyframes hm-pop{from{opacity:0;transform:translateY(10px) scale(.94)}}
@keyframes hm-float{0%,100%{transform:translateY(0) rotate(-4deg)}50%{transform:translateY(-5px) rotate(-1deg)}}
@media (max-width:389px){.hb-t{font-size:21px}.hb-txt{max-width:66%}.hm-q-label{font-size:11.5px}}
@media (max-width:339px){.hm-tiles{gap:6px}.hm-q-label{font-size:10.5px}.hb-t{font-size:19px}.hb-s{-webkit-line-clamp:1}}
@media (prefers-reduced-motion:reduce){.hm-hub,.hm .hm-q,.hm .hm-mp,.hb-art svg{animation:none!important}.hb-track{transition:none!important}}
/* home2: карточки на главной ниже, чтобы цена и название попадали на первый экран */
.hm-grid .pc-media{aspect-ratio:1/1.05}
.hm-grid{row-gap:16px}
.hm-grid .pc-body{padding-top:8px}
/* home3: 3D-иконка «Отзывы» (картинка вместо SVG) */
.hm-q-ico img{display:block;width:100%;height:100%;margin:0;object-fit:contain;background:none;filter:none}
.hm .hm-q[data-story="reviews"]{background:radial-gradient(120% 100% at 50% 0%,#6fe4ff 0%,#2f7dff 58%,#1639c0 100%);color:#fff}
.hm .hm-q[data-story="reviews"] .hm-q-label{color:#fff;text-shadow:0 1px 2px rgba(0,20,90,.4)}


/* Жалоба на отзыв (ADR-058): окно по центру, синий герой + крупные плитки */
.rv-rp{position:fixed;inset:0;z-index:10050;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(0,0,0,.66);overscroll-behavior:contain;animation:rv-rp-fade .2s ease-out}
.rv-rp.out{opacity:0;transition:opacity .2s;pointer-events:none}
.rv-rp-box{width:100%;max-width:400px;max-height:calc(100dvh - 32px);overflow-y:auto;overscroll-behavior:contain;border-radius:var(--rd-r22);background:var(--rd-s1);border:1px solid var(--rd-line);box-shadow:0 24px 60px -20px rgba(0,0,0,.8);animation:rv-rp-pop .42s cubic-bezier(.2,.8,.2,1) backwards}
.rv-rp.out .rv-rp-box{transform:translateY(8px) scale(.97);transition:transform .2s}
.rv-rp-head{position:relative;overflow:hidden;isolation:isolate;padding:18px 16px 16px;color:#fff;background:radial-gradient(120% 90% at 0% 0%,color-mix(in srgb,var(--rd-b400) 55%,transparent) 0%,transparent 58%),linear-gradient(135deg,var(--rd-blue-hi) 0%,var(--rd-blue) 52%,color-mix(in srgb,var(--rd-blue) 70%,#000) 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,.28)}
.rv-rp-head::before{content:"";position:absolute;z-index:-1;top:-70px;right:-60px;width:170px;height:170px;border-radius:50%;border:18px solid rgba(255,255,255,.08)}
.rv-rp-ic{display:flex;align-items:center;justify-content:center;width:48px;height:48px;margin-bottom:10px;border-radius:16px;background:rgba(255,255,255,.18);box-shadow:inset 0 1px 0 rgba(255,255,255,.3),0 8px 18px -8px rgba(0,0,0,.4);transform:rotate(-6deg)}
.rv-rp-title{font-size:22px;font-weight:800;line-height:1.15;letter-spacing:.01em}
.rv-rp-sub{margin-top:5px;font-size:13px;font-weight:500;line-height:17px;color:rgba(255,255,255,.82)}
.rv-rp-list{display:flex;flex-direction:column;gap:8px;padding:14px 14px 0}
.rv-rp-opt{display:flex;align-items:center;gap:12px;min-height:52px;padding:0 14px;border:2px solid transparent;border-radius:var(--rd-r16);background:#fff;color:#0b1220;font:inherit;font-size:15px;font-weight:700;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform .15s,border-color .15s,background .15s;animation:rv-rp-item .36s cubic-bezier(.2,.8,.2,1) backwards;animation-delay:calc(var(--i) * 45ms + 120ms)}
.rv-rp-opt:active{transform:scale(.98)}
.rv-rp-dot{flex:none;width:22px;height:22px;border-radius:50%;border:2px solid #b8c2d6;background:#fff;transition:border .15s,background .15s,box-shadow .15s}
.rv-rp-opt.on{border-color:var(--rd-blue);background:#eaf2ff}
.rv-rp-opt.on .rv-rp-dot{border-color:var(--rd-blue);background:var(--rd-blue);box-shadow:inset 0 0 0 4px #fff}
.rv-rp-text{display:block;width:calc(100% - 28px);margin:8px 14px 0;padding:12px 14px;box-sizing:border-box;border:1px solid var(--rd-line);border-radius:var(--rd-r16);background:var(--rd-s2);color:#fff;font:inherit;font-size:16px;line-height:22px;resize:none;outline:none}
.rv-rp-text[hidden]{display:none}
.rv-rp-text:focus{border-color:var(--rd-blue)}
.rv-rp-btns{display:flex;flex-direction:column;gap:8px;padding:14px}
.rv-rp-send,.rv-rp-cancel{min-height:50px;border:0;border-radius:var(--rd-r16);font:inherit;font-size:16px;font-weight:800;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform .15s,opacity .15s}
.rv-rp-send{color:#fff;background:linear-gradient(135deg,var(--rd-blue-hi),var(--rd-blue));box-shadow:inset 0 1px 0 rgba(255,255,255,.22),0 14px 28px -16px color-mix(in srgb,var(--rd-blue) 90%,transparent)}
.rv-rp-send:disabled{opacity:.4;box-shadow:none;cursor:default}
.rv-rp-cancel{background:var(--rd-s2);color:#fff;border:1px solid var(--rd-line)}
.rv-rp-send:not(:disabled):active,.rv-rp-cancel:active{transform:scale(.98)}
@keyframes rv-rp-fade{from{opacity:0}}
@keyframes rv-rp-pop{from{opacity:0;transform:translateY(14px) scale(.96)}}
@keyframes rv-rp-item{from{opacity:0;transform:translateY(8px)}}
@media (prefers-reduced-motion:reduce){.rv-rp,.rv-rp-box,.rv-rp-opt{animation:none;transition:none}}
