/* landing.css — главная-лендинг b2c (S3 «богатый светлый лендинг», 2026-07-04).
   Структура — «лендинг с товарами» (референс re-store.ru), айдентика — Доверяй:
   белый/нейтральный, единственный акцент #064CEA, фото вместо иконок, плотность.
   Грузится ПОСЛЕ tokens.css. Ассеты промо — /static/assets/promo/*.webp. */

/* ── Шапка: на всю ширину экрана + liquid glass (идея владельца) ──
   Полупрозрачное «жидкое стекло»: сильный blur+saturate, световая кромка сверху,
   мягкая тень. Фолбэк без backdrop-filter — почти непрозрачный белый. */
.store-header{width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);
  padding-left:max(24px,calc(50vw - 616px));padding-right:max(24px,calc(50vw - 616px));
  background:rgba(255,255,255,.92);border-bottom:1px solid rgba(14,30,80,.08);}
@supports (backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px)){
  .store-header{background:linear-gradient(180deg, rgba(255,255,255,.62) 0%, rgba(255,255,255,.5) 100%);
    -webkit-backdrop-filter:blur(22px) saturate(1.9);backdrop-filter:blur(22px) saturate(1.9);
    border-bottom:1px solid rgba(255,255,255,.55);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.75), 0 8px 32px rgba(14,30,80,.07);}
}
/* Стеклянные контролы шапки — сливаются со стеклом, а не спорят с ним */
.store-header .store-icon-btn,.store-header .store-search input{background:rgba(255,255,255,.55);border-color:rgba(14,30,80,.10);}
.store-header .store-search input:focus-visible{background:#fff;}

/* ── Шапка: кнопка «Каталог» ── */
.store-catalog-link{display:inline-flex;align-items:center;gap:8px;height:46px;padding:0 18px;border-radius:10px;background:var(--dv-accent);color:#fff;font-weight:700;font-size:14px;text-decoration:none;flex:0 0 auto;transition:background var(--dv-dur);}
.store-catalog-link:hover{background:var(--dv-accent-press);color:#fff;}

.dv-home{display:grid;gap:40px;}

/* ═══════════ HERO: полноэкранный коллаж «Маркет» ═══════════ */
/* Сцена от края до края через отрицательные маргины. ⚠️ Готча Chromium: голый
   МЕЛКИЙ текст в таких секциях теряет первые глифы строк — поэтому весь мелкий
   текст hero живёт в чипах/картах со своим фоном (glass), а крупная типографика
   (h1/цена) багу не подвержена (проверено на QA S3). После вёрстки — обязательная
   проверка первых букв на полном viewport-скрине. */
.dv-heroF{position:relative;width:100vw;margin-left:calc(50% - 50vw);margin-top:-18px;
  overflow:hidden;isolation:isolate;
  background:
    radial-gradient(1200px 640px at 84% 18%, rgba(6,76,234,.16), transparent 62%),
    radial-gradient(900px 480px at 10% 96%, rgba(6,76,234,.10), transparent 60%),
    linear-gradient(180deg,#eef3fc 0%,#f7faff 60%,#fff 100%);}
.dv-heroF-stage{display:grid;}
.dv-heroF-slide{position:relative;display:grid;min-height:max(600px,calc(100svh - 72px));
  animation:dv-herol-in .55s var(--dv-ease) both;}
/* Слои сцены */
/* Кадры сцен: маркет — 16:9 (снята под кадр), трейд-ин/сервис — 21:9 (шире, кадрируем
   по композиции). Левая треть всех сцен тихая. */
.dv-heroF-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 38%;
  transform:translate3d(calc(var(--hpx,0)*-14px), calc(var(--hpy,0)*-10px + var(--hsy,0px)*-0.16), 0) scale(1.05);
  will-change:transform;}
.dv-heroF-slide--tradein .dv-heroF-bg{object-position:58% center;}
.dv-heroF-slide--tradein .dv-heroF-copy h1{font-size:clamp(36px,4.9vw,66px);}
.dv-heroF-slide--service .dv-heroF-bg{object-position:62% center;}
.dv-heroF-veil{position:absolute;inset:0;z-index:1;
  background:linear-gradient(90deg, rgba(243,247,255,.93) 0%, rgba(243,247,255,.55) 34%, rgba(243,247,255,0) 55%);}
/* Контент */
.dv-heroF-inner{position:relative;z-index:3;display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);
  align-items:center;max-width:1280px;width:100%;margin:0 auto;padding:48px 22px 190px;}
.dv-heroF-copy{display:grid;gap:16px;justify-items:start;max-width:620px;}
/* Каскадный вход контента hero при маунте (screenshot-safe: on-mount, не по скроллу) */
.dv-heroF-copy > *{animation:dv-hero-rise .6s var(--dv-ease) both;}
.dv-heroF-copy > *:nth-child(1){animation-delay:.05s;}
.dv-heroF-copy > *:nth-child(2){animation-delay:.14s;}
.dv-heroF-copy > *:nth-child(3){animation-delay:.24s;}
.dv-heroF-copy > *:nth-child(4){animation-delay:.34s;}
.dv-heroF-copy > *:nth-child(5){animation-delay:.44s;}
.dv-heroF-copy > *:nth-child(6){animation-delay:.54s;}
@keyframes dv-hero-rise{from{opacity:0;transform:translateY(26px);}to{opacity:1;transform:none;}}
.dv-heroF-float .dv-heroF-fcard-wrap,.dv-heroF-float .dv-heroF-chip{animation-name:dv-float,dv-hero-rise;animation-duration:6s,.7s;animation-timing-function:ease-in-out,var(--dv-ease);animation-iteration-count:infinite,1;animation-fill-mode:none,both;animation-delay:0s,.5s;}
.dv-heroF-copy h1{margin:0;font-size:clamp(40px,5.8vw,80px);line-height:1.02;letter-spacing:-.035em;font-weight:800;color:var(--dv-ink);}
.dv-heroF-sub{margin:0;font-size:14.5px;line-height:1.5;color:var(--dv-ink-soft);max-width:44ch;
  background:rgba(255,255,255,.72);backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.85);
  border-radius:12px;padding:10px 14px;box-shadow:0 2px 10px rgba(14,30,80,.05);}
.dv-heroF-copy .dv-heroL-price{background:rgba(255,255,255,.66);backdrop-filter:blur(6px);
  border-radius:14px;padding:10px 16px 12px;border:1px solid rgba(255,255,255,.85);box-shadow:0 2px 10px rgba(14,30,80,.05);}
/* Мобильный ряд карточек — на десктопе скрыт */
.dv-heroF-float-row{display:none;}
/* Парящие живые карточки и чипы (десктоп) */
.dv-heroF-float{position:absolute;inset:0;z-index:4;pointer-events:none;}
.dv-heroF-fcard-wrap{position:absolute;pointer-events:auto;
  transform:translate3d(calc(var(--hpx,0)*var(--fd,26px)), calc(var(--hpy,0)*var(--fdy,18px) + var(--hsy,0px)*var(--fs,.5)), 0);
  will-change:transform;}
.dv-heroF-depth-1{--fd:26px;--fdy:18px;--fs:.5;right:40%;top:20%;}
.dv-heroF-depth-2{--fd:36px;--fdy:24px;--fs:.62;right:8%;top:52%;}
.dv-heroF-depth-3{--fd:18px;--fdy:12px;--fs:.4;right:33%;bottom:26%;}
.dv-heroF-fcard{display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.88);backdrop-filter:blur(8px);
  border:1px solid rgba(255,255,255,.9);border-radius:14px;padding:9px 14px 9px 9px;text-decoration:none;color:var(--dv-ink);
  box-shadow:0 12px 32px rgba(14,30,80,.16);animation:dv-float 6s ease-in-out infinite;
  transition:transform var(--dv-dur) var(--dv-ease),box-shadow var(--dv-dur);}
.dv-heroF-depth-2 .dv-heroF-fcard{animation-delay:1.4s;animation-duration:7s;}
.dv-heroF-depth-3 .dv-heroF-fcard{animation-delay:.7s;animation-duration:6.5s;}
.dv-heroF-fcard:hover{transform:translateY(-3px) scale(1.03);box-shadow:0 18px 40px rgba(14,30,80,.22);color:var(--dv-ink);}
.dv-heroF-fcard img{width:44px;height:44px;object-fit:cover;border-radius:10px;background:#fff;}
.dv-heroF-fcard-copy{display:grid;gap:1px;}
.dv-heroF-fcard-copy b{font-size:12.5px;font-weight:700;letter-spacing:-.01em;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.dv-heroF-fcard-copy i{font-style:normal;display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:700;color:var(--dv-accent);}
.dv-heroF-chip{position:absolute;display:inline-flex;align-items:center;gap:6px;pointer-events:none;
  background:rgba(255,255,255,.88);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.9);
  border-radius:999px;padding:8px 14px;font-size:12.5px;font-weight:700;color:var(--dv-ink);
  box-shadow:0 8px 22px rgba(14,30,80,.13);animation:dv-float 7.5s ease-in-out infinite;
  transform:translate3d(calc(var(--hpx,0)*var(--fd,20px)), calc(var(--hpy,0)*var(--fdy,14px) + var(--hsy,0px)*var(--fs,.45)), 0);}
.dv-heroF-chip svg{color:var(--dv-accent);}
.dv-heroF-chip-1{right:47%;bottom:37%;--fd:34px;--fdy:22px;--fs:.6;animation-delay:2s;}
.dv-heroF-chip-2{right:15%;top:19%;--fd:16px;--fdy:11px;--fs:.38;animation-delay:.9s;}
/* Карточка ремонта (слайд «Сервис»): светлый гласс поверх сцены — оверрайд тёмной
   версии из tokens.css */
.dv-heroF-repair-wrap{position:absolute;right:10%;top:16%;pointer-events:none;
  transform:translate3d(calc(var(--hpx,0)*var(--fd,30px)), calc(var(--hpy,0)*var(--fdy,20px) + var(--hsy,0px)*var(--fs,.55)), 0);}
.dv-heroF .dv-repair{filter:drop-shadow(0 22px 44px rgba(14,30,80,.22));animation-duration:9s;}
.dv-heroF .dv-repair-card{background:rgba(255,255,255,.9);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.95);}
.dv-heroF .dv-repair-title{color:var(--dv-ink);}
.dv-heroF .dv-repair-chip{background:var(--dv-good-tint);color:var(--dv-good);border-color:transparent;}
.dv-heroF .dv-repair-step{color:var(--dv-ink-soft);}
.dv-heroF .dv-repair-step.done{color:var(--dv-good);}
.dv-heroF .dv-repair-step.now{color:var(--dv-accent);}

/* Низ hero: живые цифры-чипы */
.dv-heroF-bottom{position:absolute;z-index:4;left:0;right:0;bottom:96px;}
.dv-heroF-bottom-inner{max-width:1280px;margin:0 auto;padding:0 22px;}
/* Бегущая строка линеек */
.dv-heroF-marquee{position:absolute;z-index:4;left:0;right:0;bottom:0;overflow:hidden;
  border-top:1px solid rgba(6,76,234,.14);background:rgba(231,238,255,.72);backdrop-filter:blur(8px);}
.dv-heroF-marquee-track{display:flex;width:max-content;animation:dv-marquee 36s linear infinite;}
.dv-heroF-marquee:hover .dv-heroF-marquee-track{animation-play-state:paused;}
.dv-heroF-marquee-row{display:flex;}
.dv-heroF-mitem{display:inline-flex;align-items:center;gap:6px;padding:13px 26px;font-size:13px;font-weight:700;
  color:var(--dv-ink-soft);text-decoration:none;white-space:nowrap;border-right:1px solid rgba(14,30,80,.06);}
.dv-heroF-mitem:hover{color:var(--dv-accent);background:rgba(6,76,234,.05);}
.dv-heroF-mitem svg{opacity:.9;color:var(--dv-accent);}
@keyframes dv-marquee{from{transform:translateX(0);}to{transform:translateX(-50%);}}

/* Наследники старого hero, используемые в коллаже: kicker-пилюля, блок цены, CTA-ряд,
   точки карусели (пригодятся при возврате слайдов), keyframes появления. */
.dv-heroL-kicker{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;
  background:var(--dv-accent);border:1px solid var(--dv-accent);color:#fff;font-weight:700;font-size:12.5px;letter-spacing:.02em;
  box-shadow:0 6px 16px rgba(6,76,234,.28);}
.dv-heroL-kicker svg{color:#fff;}
.dv-heroL-price{display:grid;gap:2px;}
.dv-heroL-price-label{font-size:12.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--dv-muted);}
.dv-heroL-price-value{font-size:clamp(34px,4.6vw,58px);font-weight:800;letter-spacing:-.03em;color:var(--dv-ink);line-height:1.05;}
.dv-heroL-price-value b{font-variant-numeric:tabular-nums;color:var(--dv-accent);}
.dv-heroL-cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:6px;}
.dv-heroL-cta .dv-btn{font-size:15px;padding:15px 26px;text-decoration:none;}
.dv-heroL-dots{position:absolute;left:50%;transform:translateX(-50%);bottom:56px;display:flex;gap:8px;z-index:5;}
/* Крупные точки-индикаторы (фидбек владельца: «кнопки переключения больше») */
.dv-heroL-dot{border:0;background:none;padding:12px 5px;cursor:pointer;}
.dv-heroL-dot-track{display:block;width:56px;height:8px;border-radius:999px;background:rgba(14,23,38,.18);overflow:hidden;box-shadow:inset 0 0 0 1px rgba(255,255,255,.5);}
.dv-heroL-dot[data-active="true"] .dv-heroL-dot-track{background:rgba(6,76,234,.28);}
.dv-heroL-dot[data-active="false"]:hover .dv-heroL-dot-track{background:rgba(14,23,38,.26);}
.dv-heroL-dot-fill{display:block;height:100%;width:100%;border-radius:inherit;background:var(--dv-accent);
  transform-origin:left center;animation:dv-herol-fill linear both;}
.dv-heroL-dot-fill.is-paused{animation-play-state:paused;}
.dv-heroL-dot-fill.is-static{animation:none;transform:none;}
@keyframes dv-herol-fill{from{transform:scaleX(0);}to{transform:scaleX(1);}}
@keyframes dv-herol-in{from{opacity:0;}to{opacity:1;}}

/* Стрелки переключения баннеров */
.dv-heroF-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:5;display:grid;place-items:center;
  width:52px;height:52px;border-radius:50%;border:1px solid rgba(255,255,255,.9);cursor:pointer;
  background:rgba(255,255,255,.82);backdrop-filter:blur(8px);color:var(--dv-ink);
  box-shadow:0 8px 24px rgba(14,30,80,.16);transition:background var(--dv-dur),transform var(--dv-dur),color var(--dv-dur);}
.dv-heroF-arrow:hover{background:var(--dv-accent);color:#fff;transform:translateY(-50%) scale(1.06);}
.dv-heroF-arrow--prev{left:22px;}
.dv-heroF-arrow--next{right:22px;}
@media (max-width:860px){.dv-heroF-arrow{width:42px;height:42px;}.dv-heroF-arrow--prev{left:10px;}.dv-heroF-arrow--next{right:10px;}}

/* ── Строка живых цифр ── */
.dv-home-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;
  margin-top:-14px;padding:4px 0 0;}
.dv-home-stat{display:grid;gap:2px;justify-items:start;padding:14px 18px;border-left:2.5px solid var(--dv-accent-tint);}
.dv-home-stat b{font-size:24px;font-weight:800;letter-spacing:-.02em;color:var(--dv-ink);font-variant-numeric:tabular-nums;}
.dv-home-stat span{font-size:12.5px;color:var(--dv-muted);font-weight:600;line-height:1.3;}
/* Вариант внутри hero: стеклянные чипы (свой фон = защита глифов + читаемость на сцене) */
.dv-home-stats--hero{margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px;justify-content:center;}
.dv-home-stats--hero .dv-home-stat{display:inline-flex;align-items:baseline;gap:7px;border-left:0;
  background:rgba(255,255,255,.78);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.9);
  border-radius:999px;padding:9px 16px;box-shadow:0 4px 14px rgba(14,30,80,.08);}
.dv-home-stats--hero .dv-home-stat b{font-size:16px;color:var(--dv-accent);}
.dv-home-stats--hero .dv-home-stat span{font-size:12px;white-space:nowrap;}

/* ── Категорийные тайлы с фото и подссылками ── */
.dv-home-cats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;}
.dv-home-cat{position:relative;display:flex;gap:10px;align-items:stretch;justify-content:space-between;
  background:var(--dv-surface);border-radius:var(--dv-radius-lg);padding:18px;min-height:150px;overflow:hidden;
  transition:transform var(--dv-dur) var(--dv-ease),box-shadow var(--dv-dur);}
.dv-home-cat:hover{transform:translateY(-3px);box-shadow:var(--dv-shadow-1);}
.dv-home-cat.is-soon{opacity:.62;}
.dv-home-cat.is-soon:hover{transform:none;box-shadow:none;}
.dv-home-cat-ico{display:grid;place-items:center;width:46px;height:46px;border-radius:12px;background:#fff;color:var(--dv-accent);flex:0 0 auto;box-shadow:0 1px 2px rgba(14,23,38,.06);align-self:flex-start;}
.dv-home-cat-photo{flex:0 0 104px;display:grid;place-items:center;margin:-6px -6px -6px 0;}
.dv-home-cat-photo img{width:104px;height:124px;object-fit:cover;border-radius:12px;
  box-shadow:0 8px 20px rgba(14,30,80,.14);transition:transform var(--dv-dur) var(--dv-ease);}
.dv-home-cat:hover .dv-home-cat-photo img{transform:scale(1.05) rotate(-1.2deg);}
.dv-home-cat-body{display:grid;gap:6px;min-width:0;align-content:start;}
.dv-home-cat-name{font-size:16px;font-weight:800;color:var(--dv-ink);text-decoration:none;letter-spacing:-.01em;}
a.dv-home-cat-name:hover{color:var(--dv-accent);}
.dv-home-cat-hint{font-size:12.5px;color:var(--dv-muted);line-height:1.35;}
.dv-home-cat-links{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px;}
.dv-home-cat-link{display:inline-flex;align-items:center;gap:4px;padding:5px 10px;border-radius:8px;background:#fff;color:var(--dv-ink-soft);font-size:12.5px;font-weight:600;text-decoration:none;border:1px solid var(--dv-line);transition:border-color var(--dv-dur),color var(--dv-dur);}
.dv-home-cat-link:hover{border-color:var(--dv-accent);color:var(--dv-accent);}
.dv-home-cat-link--all{color:var(--dv-accent);border-color:transparent;background:var(--dv-accent-tint);}

/* ── Товарные полосы ── */
.dv-home-rail{display:grid;gap:18px;}
.dv-home-rail-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;flex-wrap:wrap;}
.dv-home-rail-title h2{margin:0;font-size:26px;letter-spacing:-.02em;}
.dv-home-rail-title p{margin:4px 0 0;color:var(--dv-muted);font-size:13.5px;}
.dv-home-rail-all{display:inline-flex;align-items:center;gap:6px;color:var(--dv-accent);font-weight:700;font-size:14px;text-decoration:none;}
.dv-home-rail-all:hover{text-decoration:underline;}
.dv-home-rail-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;}

/* ── Промо-мозаика кампаний (асимметричная, с фото) ── */
.dv-home-mosaic{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:16px;}
.dv-home-mosaic-tile{position:relative;display:block;overflow:hidden;border-radius:var(--dv-radius-lg);
  background:var(--dv-surface);padding:24px;min-height:225px;text-decoration:none;color:var(--dv-ink);
  transition:transform var(--dv-dur) var(--dv-ease),box-shadow var(--dv-dur);}
.dv-home-mosaic-tile:hover{transform:translateY(-3px);box-shadow:var(--dv-shadow-1);color:var(--dv-ink);}
.dv-home-mosaic-tile.is-lg{grid-column:span 7;}
.dv-home-mosaic-tile.is-sm{grid-column:span 5;}
.dv-home-mosaic-tile::before{content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(90deg, rgba(255,255,255,.94) 0%, rgba(255,255,255,.72) 42%, rgba(255,255,255,.12) 78%, rgba(255,255,255,0) 100%);}
.dv-home-mosaic-copy{position:relative;z-index:2;display:grid;gap:8px;max-width:56%;align-content:start;}
.dv-home-mosaic-title{font-size:19px;font-weight:800;letter-spacing:-.015em;}
.dv-home-mosaic-text{font-size:13.5px;color:var(--dv-ink-soft);line-height:1.5;}
.dv-home-mosaic-cta{display:inline-flex;align-items:center;gap:5px;color:var(--dv-accent);font-weight:700;font-size:13.5px;margin-top:4px;}
.dv-home-mosaic-photo{position:absolute;inset:0;z-index:0;}
.dv-home-mosaic-photo img{width:100%;height:100%;object-fit:cover;object-position:68% center;
  transition:transform .5s var(--dv-ease);}
.dv-home-mosaic-tile:hover .dv-home-mosaic-photo img{transform:scale(1.045);}

/* ── Экосистема (вкл. b2b «Продавайте с Доверяй») ── */
.dv-home-eco{display:grid;gap:18px;}
.dv-home-eco-head h2{margin:0;font-size:26px;letter-spacing:-.02em;}
.dv-home-eco-head p{margin:4px 0 0;color:var(--dv-muted);font-size:13.5px;max-width:64ch;}
.dv-home-eco-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;}
.dv-home-eco-card{position:relative;display:grid;gap:8px;align-content:start;overflow:hidden;
  background:var(--dv-surface);border-radius:var(--dv-radius-lg);padding:20px 18px;min-height:190px;
  text-decoration:none;color:var(--dv-ink);transition:transform var(--dv-dur) var(--dv-ease),box-shadow var(--dv-dur);}
.dv-home-eco-card:hover{transform:translateY(-3px);box-shadow:var(--dv-shadow-1);color:var(--dv-ink);}
.dv-home-eco-title{font-size:16.5px;font-weight:800;letter-spacing:-.01em;position:relative;z-index:2;}
.dv-home-eco-text{font-size:13px;color:var(--dv-ink-soft);line-height:1.5;position:relative;z-index:2;max-width:34ch;}
.dv-home-eco-cta{display:inline-flex;align-items:center;gap:5px;color:var(--dv-accent);font-weight:700;font-size:13px;margin-top:auto;position:relative;z-index:2;}
/* Партнёрская карта — единственная акцентная: синяя, с фото-карманом */
.dv-home-eco-card--accent{background:linear-gradient(135deg,var(--dv-accent) 0%,#0a3fb8 100%);color:#fff;}
.dv-home-eco-card--accent:hover{color:#fff;box-shadow:0 14px 34px rgba(6,76,234,.35);}
.dv-home-eco-card--accent .dv-home-eco-text{color:rgba(255,255,255,.82);}
.dv-home-eco-photo{position:absolute;right:-14%;bottom:-18%;width:62%;opacity:.30;z-index:1;}
.dv-home-eco-photo img{width:100%;border-radius:14px;}
/* Фото на светлой карте (Доставка): мягкий фон ВСЕЙ карты, не «коробка» */
.dv-home-eco-photo--light{inset:0;right:0;bottom:0;width:100%;opacity:1;}
.dv-home-eco-photo--light img{width:100%;height:100%;object-fit:cover;object-position:center 30%;opacity:.14;border-radius:0;}
.dv-home-eco-cta--btn{background:#fff;color:var(--dv-accent);padding:10px 16px;border-radius:10px;justify-self:start;transition:transform var(--dv-dur);}
.dv-home-eco-card--accent:hover .dv-home-eco-cta--btn{transform:translateY(-1px);}

/* ── «Как работает лучшая цена» — полоса на всю ширину ── */
/* Полоса на ширину контейнера (БЕЗ full-bleed отрицательных маргинов — они
   заставляют Chromium терять первые глифы строк, см. .dv-heroL). */
.dv-home-how{background:var(--dv-accent-tint);border-radius:var(--dv-radius-xl);}
.dv-home-how-inner{padding:38px 40px 42px;display:grid;gap:22px;}
.dv-home-how h2{margin:0;font-size:26px;letter-spacing:-.02em;}
.dv-home-how-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;}
.dv-home-how-step{display:grid;gap:8px;align-content:start;background:#fff;border-radius:var(--dv-radius-lg);padding:22px;}
.dv-home-how-num{font-size:30px;font-weight:800;letter-spacing:-.02em;color:var(--dv-accent);opacity:.45;font-variant-numeric:tabular-nums;}
.dv-home-how-step strong{font-size:15.5px;letter-spacing:-.01em;}
.dv-home-how-step p{margin:0;font-size:13px;color:var(--dv-ink-soft);line-height:1.5;}

/* ── Полоса доверия ── */
.dv-home-trust{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;border-top:1px solid var(--dv-line);padding-top:22px;}
.dv-home-trust-item{display:flex;gap:10px;align-items:flex-start;}
.dv-home-trust-check{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--dv-good-tint);color:var(--dv-good);flex:0 0 auto;margin-top:2px;}
.dv-home-trust-item strong{font-size:13.5px;}
.dv-home-trust-item p{margin:2px 0 0;font-size:12.5px;color:var(--dv-muted);line-height:1.4;}

/* ── Быстрый «В корзину» из сетки: на десктопе появляется при hover карточки,
   на таче виден всегда (компактно) ── */
.rebro-photo-link{position:relative;display:block;}
.dv-qadd{position:absolute;right:10px;bottom:10px;z-index:3;display:grid;place-items:center;
  width:42px;height:42px;border-radius:12px;border:0;cursor:pointer;
  background:var(--dv-accent);color:#fff;box-shadow:0 8px 20px rgba(6,76,234,.32);
  opacity:0;transform:translateY(6px);transition:opacity var(--dv-dur),transform var(--dv-dur),background var(--dv-dur);}
.rebro-card:hover .dv-qadd,.dv-qadd:focus-visible{opacity:1;transform:none;}
.dv-qadd:hover{background:var(--dv-accent-press);}
.dv-qadd.is-added{background:var(--dv-good);opacity:1;transform:none;}
.dv-qadd.is-fail{background:var(--dv-bad);opacity:1;transform:none;font-size:18px;font-weight:800;}
.dv-qadd svg{width:20px;height:20px;}
.dv-qadd-spin{width:16px;height:16px;border-radius:50%;border:2.5px solid rgba(255,255,255,.4);border-top-color:#fff;animation:dv-spin .7s linear infinite;}
@media (hover:none){.dv-qadd{opacity:1;transform:none;width:38px;height:38px;}}

/* ── Тёмный финал: «Продавайте с Доверяй» на всю ширину ── */
.dv-home-partner{width:100vw;margin-left:calc(50% - 50vw);margin-bottom:-40px;
  background:
    radial-gradient(900px 420px at 82% 10%, rgba(6,76,234,.35), transparent 60%),
    linear-gradient(135deg,#0b1424 0%,#101c33 100%);}
.dv-home-partner-inner{display:flex;align-items:center;justify-content:space-between;gap:34px;flex-wrap:wrap;
  max-width:1280px;margin:0 auto;padding:56px 22px 60px;}
.dv-home-partner-kicker{display:inline-block;font-size:12.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#8fb0ff;margin-bottom:10px;}
.dv-home-partner-copy h2{margin:0 0 10px;font-size:clamp(28px,3.4vw,44px);letter-spacing:-.025em;color:#fff;}
.dv-home-partner-copy p{margin:0;font-size:15px;line-height:1.55;color:rgba(255,255,255,.75);max-width:52ch;}
.dv-home-partner-chips{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px;}
.dv-home-partner-chips span{display:inline-flex;align-items:center;gap:6px;padding:8px 13px;border-radius:999px;
  background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);color:#e6ecff;font-size:12.5px;font-weight:600;}
.dv-home-partner-chips svg{color:#7ad9cf;}
.dv-home-partner-cta{display:grid;gap:10px;justify-items:center;}
.dv-home-partner-btn{background:#fff;color:var(--dv-accent);padding:16px 30px;font-size:15.5px;border-radius:12px;box-shadow:0 14px 34px rgba(0,0,0,.35);text-decoration:none;}
.dv-home-partner-btn:hover{background:#f0f4ff;transform:translateY(-1px);}
.dv-home-partner-note{font-size:12px;color:rgba(255,255,255,.55);}

/* ── PDP: липкий buy-бокс НЕ заезжает под шапку (~72px) — раньше top:16px прятал
   цену под неё (фидбек владельца). + полировка бокса. ── */
.dv-pdp-rail{top:88px;}
.dv-card-buy{display:grid;gap:12px;padding:22px;border-radius:16px;border:1px solid var(--dv-line);
  box-shadow:0 10px 34px rgba(14,30,80,.08);}
.dv-card-price{font-size:34px;font-weight:800;letter-spacing:-.03em;color:var(--dv-ink);line-height:1.05;}
.dv-bestprice{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:999px;
  background:var(--dv-good-tint);color:var(--dv-good);font-size:12.5px;font-weight:700;}
.dv-card-stock{font-weight:700;font-size:13.5px;}
.dv-card-selected{display:flex;align-items:center;justify-content:space-between;gap:10px;
  background:var(--dv-surface);border-radius:10px;padding:10px 13px;font-size:13.5px;}
.dv-card-qty-row{display:flex;align-items:center;gap:12px;}
.dv-qty-stepper{display:inline-flex;align-items:center;gap:0;border:1.5px solid var(--dv-line-strong);border-radius:10px;overflow:hidden;}
.dv-qty-stepper button{width:38px;height:38px;border:0;background:#fff;font-size:18px;font-weight:700;color:var(--dv-ink);cursor:pointer;transition:background var(--dv-dur);}
.dv-qty-stepper button:hover:not(:disabled){background:var(--dv-accent-tint);color:var(--dv-accent);}
.dv-qty-stepper button:disabled{color:var(--dv-muted-2);cursor:not-allowed;}
.dv-qty-value{min-width:40px;text-align:center;font-weight:800;font-size:15px;}
.dv-card-cta{width:100%;padding:16px 24px;font-size:15.5px;border-radius:12px;}
.dv-card-paynote{margin:0;background:var(--dv-accent-tint);border-radius:10px;padding:10px 13px;
  font-size:12.5px;line-height:1.45;color:var(--dv-ink-soft);}

/* ── Reveal при скролле (только transform+opacity; страховка в JS через 2.5с) ── */
.dv-reveal{opacity:0;transform:translateY(18px);transition:opacity .55s var(--dv-ease),transform .55s var(--dv-ease);}
.dv-reveal.is-in{opacity:1;transform:none;}
@media (prefers-reduced-motion:reduce){
  .dv-reveal{opacity:1;transform:none;transition:none;}
  .dv-heroF-bg,.dv-heroF-fcard-wrap,.dv-heroF-chip{transform:none !important;animation:none !important;}
  .dv-heroF-copy > *{animation:none !important;}
  .dv-heroF-fcard{animation:none !important;}
  .dv-heroF-marquee-track{animation:none !important;}
}

/* ── Адаптив ── */
@media (max-width:1100px){
  .dv-home-cats,.dv-home-eco-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .dv-home-rail-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .dv-home-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
  .dv-home-mosaic-tile.is-lg,.dv-home-mosaic-tile.is-sm{grid-column:span 6;}
}
@media (max-width:1100px){
  .dv-heroF-depth-1{right:46%;}
}
@media (max-width:860px){
  .store-catalog-link{display:none;}
  /* Мобильный hero: сцена уходит фоном вправо, коллаж заменяется компактным рядом
     живых карточек; тяжёлый параллакс отключён медиа-выше. */
  .dv-heroF-slide{min-height:max(560px,calc(100svh - 64px));}
  .dv-heroF-inner{grid-template-columns:1fr;align-items:end;padding:26px 18px 208px;}
  .dv-heroF-copy h1{font-size:clamp(34px,10vw,46px);}
  .dv-heroF-veil{background:linear-gradient(180deg, rgba(247,250,255,.9) 0%, rgba(247,250,255,.62) 45%, rgba(247,250,255,.2) 75%);}
  .dv-heroF-bg{object-position:62% 30%;}
  .dv-heroF-float{display:none;}
  .dv-heroF-float-row{display:flex;gap:10px;flex-wrap:wrap;}
  .dv-heroF-float-row .dv-heroF-fcard-wrap{position:static;transform:none;}
  .dv-heroF-float-row .dv-heroF-fcard{animation:none;}
  .dv-heroF-bottom{bottom:100px;}
  .dv-heroL-dots{bottom:56px;}
  .dv-heroF-bottom-inner{padding:0 18px;}
  .dv-home-stats--hero{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;}
  .dv-home-stats--hero .dv-home-stat{flex:0 0 auto;}
  .dv-home-how-inner{padding:26px 20px 30px;}
  .dv-home-how-grid{grid-template-columns:1fr;gap:12px;}
}
@media (max-width:640px){
  .dv-home{gap:28px;}
  .dv-home-cats{grid-template-columns:1fr;}
  .dv-home-cat{min-height:0;}
  .dv-home-rail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
  .dv-home-mosaic{gap:10px;}
  .dv-home-mosaic-tile.is-lg,.dv-home-mosaic-tile.is-sm{grid-column:span 12;min-height:190px;}
  .dv-home-eco-grid{grid-template-columns:1fr;}
  .dv-home-trust{grid-template-columns:1fr;gap:12px;}
  .dv-home-rail-title h2,.dv-home-eco-head h2,.dv-home-how h2{font-size:21px;}
  .dv-home-stats{grid-template-columns:repeat(2,minmax(0,1fr));}
  .dv-home-stat b{font-size:19px;}
}


/* ═══════════ РЕСТАЙЛ ЭКРАНОВ ПОКУПАТЕЛЯ (S3.5: корзина/избранное/кабинет/статусы) ═══════════
   Поверх base.css/tokens.css: те же классы, свежая пластика — карточки без рамок с
   мягкой тенью, компактные радиусы, синий как единственный акцент. */

/* ── Корзина ── */
.dv-cart-title{font-size:32px;letter-spacing:-.03em;}
.dv-cart-line{grid-template-columns:96px minmax(0,1fr) auto;gap:16px;padding:16px;border:0;
  border-radius:16px;box-shadow:0 2px 14px rgba(14,30,80,.06);transition:box-shadow var(--dv-dur),transform var(--dv-dur);}
.dv-cart-line:hover{box-shadow:0 10px 28px rgba(14,30,80,.10);}
.dv-cart-line-photo{width:96px;height:96px;border-radius:12px;border:0;background:var(--dv-surface);}
.dv-cart-line-title{font-weight:700;font-size:15px;letter-spacing:-.01em;}
.dv-cart-line-title:hover{color:var(--dv-accent);}
.dv-cart-line-variant{color:var(--dv-muted);font-size:12.5px;}
.dv-cart-line-unit{color:var(--dv-muted);font-size:12.5px;}
.dv-cart-line .dv-qty-stepper{border-radius:10px;}
.dv-cart-line .dv-qty-stepper button{width:34px;height:34px;}
/* Панель оформления справа — в пластике PDP-бокса */
.dv-cart-side .panel,.dv-cart-checkout{border:1px solid var(--dv-line);border-radius:16px;box-shadow:0 10px 34px rgba(14,30,80,.08);}
.dv-cart-grid input[type="text"],.dv-cart-grid input[type="tel"],.dv-cart-grid input[type="email"],.dv-cart-grid input[type="search"],.dv-cart-grid textarea,.dv-cart-grid select{
  border-radius:10px;border:1.5px solid var(--dv-line-strong);padding:11px 13px;font-size:14px;transition:border-color var(--dv-dur),box-shadow var(--dv-dur);}
.dv-cart-grid input:focus-visible,.dv-cart-grid textarea:focus-visible,.dv-cart-grid select:focus-visible{border-color:var(--dv-accent);box-shadow:0 0 0 3.5px var(--dv-accent-tint);outline:none;}
.dv-cart-grid .cta-button{border-radius:12px;padding:16px 24px;font-size:15.5px;}
/* Радио-плитки (способ получения/оплаты) */
.dv-cart-grid label:has(input[type="radio"]){border-radius:12px;transition:border-color var(--dv-dur),background var(--dv-dur);}
.dv-cart-grid label:has(input[type="radio"]:checked){border-color:var(--dv-accent);background:var(--dv-accent-tint);}

/* ── Кросс-сейл «Дополните заказ»: пластика товарной карточки — фото на белом,
   компактная типографика, синяя CTA во всю ширину, ровные высоты (фидбек владельца) ── */
.dv-xsell-card,.dv-cross-card{display:grid;grid-template-rows:auto auto 1fr auto;gap:8px;
  border:0;border-radius:14px;background:#fff;padding:12px;
  box-shadow:0 2px 12px rgba(14,30,80,.06);transition:box-shadow var(--dv-dur),transform var(--dv-dur);}
.dv-xsell-card:hover{box-shadow:0 10px 26px rgba(14,30,80,.11);transform:translateY(-2px);}
.dv-xsell-photo-link{display:block;background:var(--dv-surface);border-radius:10px;overflow:hidden;}
.dv-xsell-photo{width:100%;aspect-ratio:1/1;height:auto;object-fit:cover;display:block;
  transition:transform .45s var(--dv-ease);}
.dv-xsell-card:hover .dv-xsell-photo{transform:scale(1.05);}
.dv-xsell-name{font-size:13px;font-weight:600;line-height:1.3;color:var(--dv-ink);text-decoration:none;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.6em;}
.dv-xsell-name:hover{color:var(--dv-accent);}
.dv-xsell-price{font-size:15.5px;font-weight:800;letter-spacing:-.02em;color:var(--dv-ink);align-self:end;}
.dv-xsell-add{width:100%;border:0;border-radius:10px;padding:10px 12px;font-size:13px;font-weight:700;
  background:var(--dv-accent-tint);color:var(--dv-accent);cursor:pointer;
  transition:background var(--dv-dur),color var(--dv-dur);}
.dv-xsell-add:hover:not(:disabled){background:var(--dv-accent);color:#fff;}
.dv-xsell-add:disabled{opacity:.6;cursor:wait;}

/* ── Избранное / кабинет / статусы: панели в единой пластике ── */
.page[data-route-page="favorites"] .panel,
.page[data-route-page="my-requests"] .panel,
.page[data-route-page="request"] .panel,
.page[data-route-page="order"] .panel,
.page[data-route-page="purchase"] .panel,
.page[data-route-page="trade-in"] .panel,
.page[data-route-page="info"] .panel{
  border:0;border-radius:16px;box-shadow:0 2px 16px rgba(14,30,80,.07);}
.page[data-route-page="favorites"] h1,.page[data-route-page="my-requests"] h1,
.page[data-route-page="trade-in"] h1,.page[data-route-page="info"] h1{font-size:30px;letter-spacing:-.028em;}
/* Строки заявок в кабинете */
.my-request-row{border:0 !important;border-radius:14px !important;box-shadow:0 2px 12px rgba(14,30,80,.06);
  transition:box-shadow var(--dv-dur),transform var(--dv-dur);}
.my-request-row:hover{box-shadow:0 8px 22px rgba(14,30,80,.10);transform:translateY(-1px);}
/* Бонус-кабинет */
.dv-bonus-hero{border-radius:16px;}
.dv-bonus-card{border:0;border-radius:14px;box-shadow:0 2px 12px rgba(14,30,80,.06);}
/* Пустые состояния */
.empty-box{border:1.5px dashed var(--dv-line-strong);border-radius:16px;padding:34px 22px;}

/* ── Таймлайны статусов заказа/заявки ── */
.status-step,.dv-timeline-step{border-radius:12px;}

/* Мобильный «хвост» рестайла */
@media (max-width:640px){
  .dv-cart-line{grid-template-columns:72px minmax(0,1fr);gap:12px;}
  .dv-cart-line-photo{width:72px;height:72px;}
  .dv-cart-title{font-size:24px;}
  .dv-home-partner-inner{padding:38px 18px 42px;}
  .dv-home-partner-cta{justify-items:start;}
}
