/* ============================================================================
   ВИТРИНА v3 — «дофамин» (app/v3/delight.js): частицы, полёт в корзину, вехи, полоска
   до минимума, «потяни-обнови» — классы dl-*; плюс шиммер скелетонов .sk под html.dv3.
   Палитра частиц — «арбуз»: зелёная корка, розовая мякоть, тёмные семечки, лайм, солнце.
   ========================================================================== */

html.dv3{ --dl-green:#169f65; --dl-pink:#ff5d73; --dl-seed:#1f2a22; --dl-lime:#9be15d; --dl-sun:#ffc94a; }
html.dv3.dk{ --dl-seed:#e8efe9; --dl-pink:#ff7a8c; }

/* Нажатие: убираем серую вспышку iOS и двойной тап-зум, текст не выделяется */
html.dv3 [data-press]{ -webkit-tap-highlight-color:transparent; touch-action:manipulation; -webkit-user-select:none; user-select:none; }

/* Частицы: фиксированы к экрану, мимо пальца, поверх всего */
.dl-p, .dl-fly{ position:fixed; z-index:2147483000; pointer-events:none; will-change:transform,opacity; }
.dl-p{ display:block; background:var(--c); border-radius:50%; }
.dl-p--seed{ border-radius:50% 50% 50% 50% / 62% 62% 38% 38%; }   /* семечко-капля */
.dl-p--leaf{ border-radius:0 100% 0 100%; }                        /* листик */
.dl-p--spark{ border-radius:0; clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%); }

/* Полёт в корзину: копия фото */
.dl-fly__img{ width:100%; height:100%; border-radius:16px; background:var(--v3-photo,#f2f4f2) center/contain no-repeat;
  box-shadow:0 8px 24px rgba(0,30,15,.18); }

/* Цифры одной ширины — сумма не «дрожит» на тике */
.dl-num{ font-variant-numeric:tabular-nums; }

/* Веха «Первый товар в корзине!»: пилюля сверху, арбузик слева (delight.js milestone) */
.dl-toast{ position:fixed; z-index:2147482000; left:50%; top:calc(12px + env(safe-area-inset-top)); transform:translate(-50%,0);
  display:flex; align-items:center; gap:8px; padding:10px 16px 10px 12px; border-radius:999px; pointer-events:none; white-space:nowrap;
  font-size:15px; font-weight:600; line-height:1.2; color:var(--ink,#13201a); background:var(--paper,#fff);
  box-shadow:0 10px 30px rgba(0,40,20,.18), 0 0 0 1px color-mix(in srgb, var(--dl-green) 18%, transparent); }
.dl-toast svg{ width:24px; height:24px; flex-shrink:0; }

/* Полоска до минимальной суммы заказа (goalBar): заливка — scaleX, только transform */
.dl-goal{ margin:0 2px 10px; font-size:13px; line-height:1.3; color:var(--muted,#56605a); }
.dl-goal-t{ display:block; margin-bottom:6px; font-variant-numeric:tabular-nums; }
.dl-goal-tr{ display:block; height:8px; border-radius:99px; overflow:hidden; background:color-mix(in srgb, var(--dl-green) 14%, transparent); }
.dl-goal-f{ display:block; height:100%; transform-origin:0 50%; transform:scaleX(0); border-radius:inherit;
  background:linear-gradient(90deg, var(--dl-lime), var(--dl-green)); transition:transform .6s cubic-bezier(.34,1.3,.64,1); }
.dl-goal.is-done{ color:var(--green,#169f65); font-weight:600; }
.dl-goal.is-done .dl-goal-f{ background:linear-gradient(90deg, var(--dl-green), var(--dl-pink)); }

/* Потяни, чтобы обновить: арбуз сверху по центру (pullToRefresh) */
.dl-ptr{ position:fixed; z-index:60; left:50%; top:calc(8px + env(safe-area-inset-top)); width:40px; height:40px; padding:6px; border-radius:50%;
  background:var(--paper,#fff); box-shadow:0 6px 18px rgba(0,40,20,.18); pointer-events:none; opacity:0; transform:translate3d(-50%,-40px,0); }
.dl-ptr svg{ display:block; width:100%; height:100%; }
.dl-ptr.is-spin svg{ animation:dl-spin .8s linear infinite; }
@keyframes dl-spin{ to{ transform:rotate(360deg); } }

/* Скелетоны v3 (и SSR из ssr.php) — шиммер в цвет бренда: крем → мягкая зелень.
   !important — у SSR-заглушек фон задан в style="", PHP не трогаем. */
html.dv3{ --dl-sk:#f3f0e4; --dl-sk2:#e6efe2; --dl-sk-hi:rgba(255,253,244,.85); }
html.dv3.dk{ --dl-sk:#1f2621; --dl-sk2:#1c2a22; --dl-sk-hi:rgba(155,225,93,.09); }
html.dv3 .sk{ position:relative; overflow:hidden; background-color:var(--dl-sk) !important;
  background-image:linear-gradient(120deg, var(--dl-sk), var(--dl-sk2)) !important; border-color:transparent; }
html.dv3 .sk::after{ content:''; position:absolute; inset:0; transform:translateX(-100%);
  background:linear-gradient(100deg, transparent 15%, var(--dl-sk-hi) 50%, transparent 85%); animation:dl-shimmer 1.5s ease-in-out infinite; }
@keyframes dl-shimmer{ to{ transform:translateX(100%); } }

@media (prefers-reduced-motion:reduce){
  .dl-goal-f{ transition:none; }
  .dl-ptr.is-spin svg{ animation:none; }
  html.dv3 .sk::after{ animation:none; opacity:0; }
}
/* Плашка «Оформить» в корзине стала выше на полоску — контент не прячем под неё (iOS 15.4+) */
@media (max-width:1023px){ html.dv3 [data-view="cart"] .js-body:has(.v3c-bar .dl-goal){ padding-bottom:calc(var(--v3-nav-h) + 48px - var(--safe-bottom, 0px)); } }
