/* ============================================================================
   DOLAVIX · Стили страниц нового магазина (Laravel)
   ----------------------------------------------------------------------------
   Подключается после tokens → base → components → layout. Здесь то, что
   в витрине на Битриксе жило в style.css шаблонов компонентов (меню, поиск,
   крошки) и то, что появилось только в новом магазине: секции главной
   по макету «01 · Главная» (Desktop 1440 / Mobile 390). Правила те же:
   только токены, только префикс dlvx-, ни одного #hex и px-кегля.
   ========================================================================= */

/* ═══ ОБЩЕЕ ════════════════════════════════════════════════════════════ */
[hidden] { display: none !important; }
::selection { background: var(--bg-accent-soft); color: var(--text-primary); }
html { caret-color: var(--text-accent); scrollbar-color: var(--c-neutral-300) var(--bg-subtle); }
.dlvx-icon { flex: none; display: inline-block; vertical-align: middle; }
.dlvx-icon use { pointer-events: none; }

/* Мобильная версия — второй дизайн, а не медиазапрос: части экранов существуют
   только на одной из ширин. Переключатель — две служебные роли. */
@media (min-width: 900px) { .dlvx-only-mobile { display: none !important; } }
@media (max-width: 899px) { .dlvx-only-desktop { display: none !important; } }

.dlvx-btn--dark { background: var(--bg-inverse); color: var(--text-inverse); border-color: var(--bg-inverse); }
@media (hover: hover) and (pointer: fine) { .dlvx-btn--dark:hover { background: var(--c-neutral-900); } }
.dlvx-btn .dlvx-icon { margin-inline: 0 -2px; }

/* ═══ ШАПКА · служебная полоса ═════════════════════════════════════════ */
.dlvx-header__top-inner { min-block-size: 40px; }
.dlvx-header__contacts { gap: var(--space-lg); color: var(--text-warm); font-size: var(--fs-caption); }
.dlvx-header__contact { display: inline-flex; align-items: center; gap: var(--space-xs); }
.dlvx-topnav__list { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-lg); list-style: none; }
.dlvx-topnav__link {
  display: inline-flex; align-items: center; gap: var(--space-xs);
  padding-block: var(--space-2xs);
  font-size: var(--fs-caption); line-height: var(--lh-caption);
  color: var(--text-warm); text-decoration: none;
}
@media (hover: hover) and (pointer: fine) {
  .dlvx-topnav__link:hover { color: var(--text-accent); text-decoration: underline; text-underline-offset: 0.18em; }
}
.dlvx-topnav__link[aria-current="page"] { color: var(--text-primary); font-weight: var(--fw-semibold); }
.dlvx-topnav__phone { color: var(--text-primary); font-weight: var(--fw-semibold); font-size: var(--fs-body-s); font-variant-numeric: tabular-nums; }

/* ═══ ШАПКА · основная полоса ══════════════════════════════════════════ */
.dlvx-header__main-inner { min-block-size: 80px; gap: var(--space-xl); }
.dlvx-logo { display: inline-flex; align-items: center; }
.dlvx-logo__img { inline-size: 152px; block-size: auto; display: block; }
.dlvx-catalog-trigger { gap: var(--space-xs); }
.dlvx-header__search { flex: 1 1 320px; }
.dlvx-header__search input[type="search"] {
  background-color: var(--bg-muted); border-color: transparent;
  padding-inline-start: var(--space-3xl);
}
.dlvx-header__search input[type="search"]:hover { border-color: var(--border-input); }
.dlvx-header__actions { gap: var(--space-md); }
.dlvx-header__action {
  position: relative;
  display: flex; flex-direction: column; align-items: center; gap: 2px;
  min-inline-size: var(--size-touch-min); min-block-size: var(--size-touch-min);
  padding: var(--space-2xs) var(--space-xs);
  border-radius: var(--radius-md);
  color: var(--text-primary); text-decoration: none;
  transition: background-color var(--dur-hover) var(--ease-out), color var(--dur-hover) var(--ease-out);
}
@media (hover: hover) and (pointer: fine) { .dlvx-header__action:hover { background: var(--bg-subtle); color: var(--text-accent); } }
.dlvx-header__action-icon { position: relative; display: grid; place-items: center; inline-size: 24px; block-size: 24px; }
.dlvx-header__action-label { font-size: var(--fs-caption); line-height: var(--lh-caption); color: var(--text-muted); }
.dlvx-header__action .dlvx-counter { inset-block-start: -8px; inset-inline-end: -12px; }

/* ═══ ШАПКА · строка навигации (только десктоп) ════════════════════════ */
.dlvx-header__nav { border-top: 1px solid var(--border-default); border-bottom: 1px solid var(--border-default); }
.dlvx-header__nav-list { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-xl); list-style: none; min-block-size: 52px; }
.dlvx-header__nav-link {
  display: inline-flex; align-items: center;
  padding-block: var(--space-sm);
  font-size: var(--fs-body-m); line-height: var(--lh-body-m); font-weight: var(--fw-medium);
  color: var(--text-primary); text-decoration: none;
  border-bottom: 2px solid transparent; margin-block-end: -1px;
}
@media (hover: hover) and (pointer: fine) { .dlvx-header__nav-link:hover { color: var(--text-accent); } }
.dlvx-header__nav-link[aria-current="page"] { color: var(--text-accent); border-bottom-color: var(--border-accent); }
.dlvx-header__nav-link--soon { color: var(--text-muted); font-weight: var(--fw-regular); cursor: default; }
@media (max-width: 899px) {
  .dlvx-header__nav { display: none; }
  .dlvx-header__main-inner { gap: var(--space-sm); min-block-size: 48px; padding-block: var(--space-xs) 0; }
  .dlvx-logo__img { inline-size: 118px; }
  .dlvx-header__actions { gap: var(--space-2xs); }
  .dlvx-header__action-label { display: none; }
  .dlvx-header__action--cabinet { display: none; }
  .dlvx-header__action { min-inline-size: 40px; padding-inline: var(--space-2xs); }
  .dlvx-header__search { order: 10; flex-basis: 100%; padding-block-end: var(--space-xs); }
  .dlvx-header__search input[type="search"] { min-block-size: 40px; border-radius: var(--radius-lg); }
}

/* ═══ МЕНЮ В ШТОРКЕ ════════════════════════════════════════════════════ */
.dlvx-mobilenav__list { list-style: none; }
.dlvx-mobilenav__item + .dlvx-mobilenav__item { border-top: 1px solid var(--border-subtle); }
.dlvx-mobilenav__link {
  display: flex; align-items: center; justify-content: space-between; gap: var(--space-xs);
  min-block-size: var(--size-control-md); padding-block: var(--space-xs);
  font-size: var(--fs-body-l); line-height: var(--lh-body-l); font-weight: var(--fw-medium);
  color: var(--text-primary); text-decoration: none;
}
.dlvx-mobilenav__link[aria-current="page"] { color: var(--text-accent); font-weight: var(--fw-semibold); }
.dlvx-mobilenav__link--soon { color: var(--text-muted); font-weight: var(--fw-regular); }
.dlvx-mobilenav__note {
  flex: none; padding: 2px var(--space-xs); border-radius: var(--radius-sm);
  background: var(--bg-muted); color: var(--text-subtle);
  font-size: var(--fs-caption); line-height: var(--lh-caption); font-weight: var(--fw-semibold);
}

/* ═══ ПОДВАЛ ═══════════════════════════════════════════════════════════ */
.dlvx-footer__logo { inline-size: 152px; block-size: auto; color: var(--text-inverse); filter: brightness(0) invert(1); }
.dlvx-footer__col a { display: inline-block; padding-block: var(--space-2xs); }
.dlvx-footer__col a[aria-current="page"] { text-decoration: underline; text-underline-offset: 0.18em; font-weight: var(--fw-semibold); }
.dlvx-footer__soon { display: inline-block; padding-block: var(--space-2xs); font-size: var(--fs-body-s); color: color-mix(in srgb, var(--text-inverse) 62%, transparent); }
.dlvx-footer__phone { font-size: var(--fs-title-l); font-weight: var(--fw-bold); font-variant-numeric: tabular-nums; }
.dlvx-footer__legal span { color: color-mix(in srgb, var(--text-inverse) 62%, transparent); }
@media (max-width: 899px) {
  .dlvx-footer { padding-block: var(--space-3xl) var(--space-lg); margin-block-start: var(--section-gap); }
  .dlvx-footer__grid { gap: var(--space-xl); }
}

/* ═══ ЗАГОЛОВОК СЕКЦИИ ═════════════════════════════════════════════════ */
.dlvx-section-head__text { max-width: 72ch; gap: var(--space-sm); }
.dlvx-section-head__text .dlvx-lead { color: var(--text-muted); }

/* ═══ ГЛАВНАЯ · ПЕРВЫЙ ЭКРАН ══════════════════════════════════════════
   Текст 712 + мозаика 520 (ТЗ §2), зазор 48. Мозаика: кадр 3:4 слева,
   два квадрата справа — одежда, текстиль, обувь читаются одним взглядом. */
.dlvx-hero { padding-block: var(--space-5xl) var(--space-3xl); }
.dlvx-hero__grid { display: grid; gap: var(--space-2xl); align-items: center; }
@media (min-width: 900px) { .dlvx-hero__grid { grid-template-columns: 712fr 560fr; gap: var(--space-4xl); } }
.dlvx-hero__text { display: flex; flex-direction: column; gap: var(--space-lg); max-width: 72ch; }
.dlvx-hero__text .dlvx-overline { color: var(--text-muted); }
.dlvx-hero__lead { font-size: var(--fs-body-l); line-height: var(--lh-body-l); color: var(--text-body); }
.dlvx-hero__actions { display: flex; flex-wrap: wrap; gap: var(--space-sm); margin-block-start: var(--space-xs); }
.dlvx-hero__note { font-size: var(--fs-body-s); color: var(--text-muted); }
.dlvx-hero__note a { color: var(--text-accent); font-weight: var(--fw-medium); text-decoration: none; }
.dlvx-hero__note a:hover { text-decoration: underline; }
.dlvx-hero__mosaic {
  display: grid; grid-template-columns: 3fr 2fr; grid-template-rows: 1fr 1fr; gap: var(--space-md);
}
.dlvx-hero__mosaic > :first-child { grid-row: 1 / 3; }
.dlvx-hero__photo { border-radius: var(--radius-xl); background: var(--bg-warm); }
.dlvx-hero__photo--side { aspect-ratio: auto; }
.dlvx-hero__photo--side img { position: absolute; inset: 0; }
@media (max-width: 899px) {
  .dlvx-hero { padding-block: var(--space-2xl) var(--space-xl); }
  .dlvx-hero__mosaic { display: block; }
  .dlvx-hero__mosaic .dlvx-hero__photo:first-child { aspect-ratio: 4 / 3; border-radius: var(--radius-lg); }
  .dlvx-hero__mosaic .dlvx-hero__photo:first-child img { object-position: top; }
  .dlvx-hero__photo--side { display: none; }
  .dlvx-hero__actions .dlvx-btn { flex: 1 1 100%; }
}

/* ═══ ПОЛОСА ФАКТОВ ════════════════════════════════════════════════════ */
.dlvx-facts { display: grid; gap: var(--space-md); grid-template-columns: repeat(2, 1fr); list-style: none; }
@media (min-width: 900px) { .dlvx-facts { grid-template-columns: repeat(4, 1fr); gap: var(--space-xl); } }
.dlvx-fact { gap: var(--space-sm); padding: var(--space-lg); }
.dlvx-fact--warm { background: var(--bg-warm-soft); border-color: var(--border-subtle); }
.dlvx-fact__icon { color: var(--icon-accent); }
.dlvx-fact__value { font-size: var(--fs-h3); line-height: var(--lh-h3); font-weight: var(--fw-semibold); }
.dlvx-fact__label { font-size: var(--fs-body-s); line-height: var(--lh-body-s); }
.dlvx-facts--plain .dlvx-fact { background: var(--bg-warm-soft); border-color: var(--border-subtle); }

/* ═══ НАПРАВЛЕНИЯ ══════════════════════════════════════════════════════ */
.dlvx-tiles { display: grid; gap: var(--space-lg); grid-template-columns: 1fr; list-style: none; }
@media (min-width: 600px) { .dlvx-tiles { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1000px) { .dlvx-tiles { grid-template-columns: repeat(4, 1fr); gap: var(--space-xl); } }
.dlvx-tile {
  padding: var(--space-sm) var(--space-sm) var(--space-lg); gap: var(--space-2xs);
  background: var(--surface-card); border: 1px solid var(--border-default);
}
.dlvx-tile__media { border-radius: var(--radius-md); }
.dlvx-tile__title { margin-block-start: var(--space-sm); font-size: var(--fs-title-l); line-height: var(--lh-title-l); font-weight: var(--fw-semibold); color: var(--text-primary); }
.dlvx-tile__title a { color: inherit; text-decoration: none; }
.dlvx-tile__title a::after { content: ''; position: absolute; inset: 0; }
.dlvx-tile__count { font-size: var(--fs-body-s); line-height: var(--lh-body-s); font-weight: var(--fw-semibold); color: var(--text-success); }
.dlvx-tile__lead { font-size: var(--fs-body-s); line-height: var(--lh-body-s); color: var(--text-muted); margin-block-start: var(--space-2xs); }
.dlvx-tile--pending { cursor: default; }
.dlvx-tile--pending:hover { transform: none; box-shadow: none; }
.dlvx-tile--pending .dlvx-tile__count { color: var(--text-warning); }
.dlvx-tile--pending .dlvx-tile__media { box-shadow: 0 0 0 1px var(--border-warning); }
.dlvx-tile--soon { background: var(--surface-card); border-style: dashed; }
.dlvx-tile--soon .dlvx-tile__count { color: var(--text-muted); }
.dlvx-tile--soon .dlvx-media--pending { border: 0; background: var(--bg-subtle); }

/* ═══ ХОДОВОЕ (mobile) ═════════════════════════════════════════════════ */
/* В components.css правило «интерактивное выше растянутой ссылки» ставит
   бейджам и избранному position: relative и роняет их под фото. Возвращаем
   на место: они лежат поверх снимка, а над ссылкой — через z-index. */
.dlvx-product__badges, .dlvx-product__fav { position: absolute; z-index: 2; }
.dlvx-product__media { position: relative; }
.dlvx-product__media .dlvx-media { border-radius: 0; }
.dlvx-popular .dlvx-grid--products { grid-template-columns: 1fr; }
.dlvx-product__meta--spec { color: var(--text-success); }
.dlvx-product__sizes { font-size: var(--fs-body-s); line-height: var(--lh-body-s); color: var(--text-muted); }
.dlvx-product__sizes--out { color: var(--text-danger); font-size: var(--fs-caption); }
.dlvx-price-m { font-size: var(--fs-price-m); line-height: var(--lh-price-m); font-weight: var(--fw-bold); color: var(--text-price); font-variant-numeric: tabular-nums; }
.dlvx-price-s { font-size: var(--fs-price-s); line-height: var(--lh-price-s); font-weight: var(--fw-semibold); color: var(--text-price); }

/* ═══ РАСЧЁТ МАРЖИ ═════════════════════════════════════════════════════ */
.dlvx-levels { display: flex; flex-wrap: wrap; gap: var(--space-xs); margin-block: calc(var(--space-2xl) * -1) var(--space-xl); }
.dlvx-margin-table { background: var(--surface-card); border: 1px solid var(--border-subtle); border-radius: var(--radius-lg); overflow: hidden; }
.dlvx-margin-table .dlvx-table th { background: var(--bg-subtle); }
.dlvx-margin-table .dlvx-table td { padding-block: var(--space-md); font-size: var(--fs-body-m); }
.dlvx-margin-table__markup { color: var(--text-success); font-weight: var(--fw-semibold); white-space: nowrap; flex: none; }
.dlvx-margin-note { margin-block-start: var(--space-md); }
.dlvx-margin-cards { display: grid; gap: var(--space-sm); list-style: none; }
.dlvx-margin-card { padding: var(--space-md); background: var(--surface-card); border: 1px solid var(--border-subtle); border-radius: var(--radius-lg); }
.dlvx-margin-card__head { display: flex; justify-content: space-between; align-items: baseline; gap: var(--space-sm); margin-block-end: var(--space-xs); }
.dlvx-margin-card__row { display: flex; justify-content: space-between; gap: var(--space-md); padding-block: var(--space-xs); border-top: 1px solid var(--border-subtle); font-size: var(--fs-body-s); color: var(--text-muted); }
.dlvx-margin-card__row .dlvx-num { color: var(--text-price); font-weight: var(--fw-medium); font-variant-numeric: tabular-nums; }

/* ═══ СКЛАД ════════════════════════════════════════════════════════════ */
.dlvx-warehouse__photos { display: grid; gap: var(--space-md); grid-template-columns: repeat(2, 1fr); margin-block-end: var(--space-xl); }
@media (min-width: 900px) { .dlvx-warehouse__photos { grid-template-columns: repeat(4, 1fr); gap: var(--space-xl); } }
.dlvx-warehouse__photos .dlvx-media--pending { background: var(--bg-warm); border: 0; color: var(--c-sand-300); }

/* ═══ ДЛЯ КОГО ═════════════════════════════════════════════════════════ */
.dlvx-segments { display: grid; gap: var(--space-md); list-style: none; }
@media (min-width: 900px) { .dlvx-segments { grid-template-columns: repeat(3, 1fr); gap: var(--space-xl); } }
.dlvx-segment {
  display: flex; flex-direction: column; gap: var(--space-sm);
  padding: var(--space-lg); background: var(--surface-card);
  border: 1px solid var(--border-default); border-radius: var(--radius-lg);
}
.dlvx-segment__head { display: flex; align-items: center; gap: var(--space-sm); }
.dlvx-segment__icon { color: var(--icon-accent); }
.dlvx-segment p { color: var(--text-body); }
.dlvx-segment__link { display: inline-flex; align-items: center; gap: var(--space-xs); margin-block-start: auto; padding-block: var(--space-2xs); color: var(--text-accent); font-weight: var(--fw-medium); text-decoration: none; }
.dlvx-segment__link:hover { text-decoration: underline; }

/* ═══ ЧЕТЫРЕ ВХОДА ═════════════════════════════════════════════════════ */
.dlvx-entries { display: grid; gap: var(--space-md); list-style: none; }
@media (min-width: 900px) { .dlvx-entries { grid-template-columns: repeat(4, 1fr); gap: var(--space-xl); } }
.dlvx-entry {
  display: flex; flex-direction: column; gap: var(--space-xs);
  padding: var(--space-lg); background: var(--bg-warm-soft);
  border: 1px solid var(--border-subtle); border-radius: var(--radius-lg);
}
.dlvx-entry__head { display: flex; align-items: center; gap: var(--space-sm); color: var(--icon-accent); margin-block-end: var(--space-2xs); }
.dlvx-entry__title { font-size: var(--fs-title-l); line-height: var(--lh-title-l); font-weight: var(--fw-semibold); color: var(--text-accent); text-decoration: none; }
.dlvx-entry__title::after { content: ''; position: absolute; inset: 0; }
.dlvx-entry { position: relative; }
.dlvx-entry__title:hover { text-decoration: underline; }
.dlvx-entry p { font-size: var(--fs-body-s); line-height: var(--lh-body-s); color: var(--text-body); }
.dlvx-entry__meta { font-size: var(--fs-caption); color: var(--text-success); margin-block-start: auto; padding-block-start: var(--space-xs); }
.dlvx-entries__note { margin-block-start: var(--space-lg); }

/* ═══ КАК ЭТО ПРОИСХОДИТ ═══════════════════════════════════════════════ */
.dlvx-steps { display: grid; gap: var(--space-md); list-style: none; counter-reset: none; }
@media (min-width: 900px) { .dlvx-steps { grid-template-columns: repeat(4, 1fr); gap: var(--space-xl); } }
.dlvx-step { display: flex; flex-direction: column; gap: var(--space-xs); padding: var(--space-lg); background: var(--surface-card); border-radius: var(--radius-lg); box-shadow: var(--shadow-card); }
.dlvx-step__num { font-size: var(--fs-h2); line-height: 1; font-weight: var(--fw-semibold); color: var(--text-muted); font-variant-numeric: tabular-nums; }
.dlvx-step p { font-size: var(--fs-body-s); line-height: var(--lh-body-s); color: var(--text-body); }
@media (max-width: 899px) {
  .dlvx-step { flex-direction: row; flex-wrap: wrap; align-items: baseline; gap: var(--space-xs) var(--space-sm); }
  .dlvx-step__num { font-size: var(--fs-title-l); }
  .dlvx-step p { flex-basis: 100%; }
}

/* ═══ ДОКУМЕНТЫ ════════════════════════════════════════════════════════ */
.dlvx-docs { display: flex; flex-wrap: wrap; gap: var(--space-xs); list-style: none; }
.dlvx-doc {
  display: inline-flex; align-items: center; gap: var(--space-xs);
  min-block-size: var(--size-control-md); padding: var(--space-xs) var(--space-md);
  background: var(--bg-success-soft); color: var(--text-primary); border-radius: var(--radius-full);
  font-size: var(--fs-body-m); font-weight: var(--fw-medium);
}
.dlvx-doc .dlvx-icon { color: var(--icon-success); }

/* ═══ ВОЗРАЖЕНИЯ ═══════════════════════════════════════════════════════ */
.dlvx-objections { display: grid; gap: var(--space-md); list-style: none; }
@media (min-width: 900px) { .dlvx-objections { grid-template-columns: repeat(3, 1fr); gap: var(--space-xl); } }
.dlvx-objection { display: flex; flex-direction: column; gap: var(--space-sm); padding: var(--space-lg); background: var(--surface-card); border: 1px solid var(--border-default); border-radius: var(--radius-lg); }
.dlvx-objection__q { display: flex; align-items: flex-start; gap: var(--space-sm); font-size: var(--fs-title-m); line-height: var(--lh-title-m); font-weight: var(--fw-semibold); }
.dlvx-objection__q .dlvx-icon { color: var(--icon-accent); margin-block-start: 2px; }
.dlvx-objection p { font-size: var(--fs-body-s); line-height: var(--lh-body-s); color: var(--text-body); }

/* ═══ ЗАЯВКА ═══════════════════════════════════════════════════════════ */
.dlvx-request { display: grid; gap: var(--space-2xl); align-items: start; }
@media (min-width: 900px) { .dlvx-request { grid-template-columns: 1fr 520px; gap: var(--space-5xl); } }
.dlvx-request__text { display: flex; flex-direction: column; gap: var(--space-sm); max-width: 60ch; }
.dlvx-request__text .dlvx-lead { color: var(--text-muted); }
.dlvx-request__actions { display: flex; flex-wrap: wrap; gap: var(--space-sm); margin-block-start: var(--space-md); }
/* Форма — .dlvx-lead-form: .dlvx-lead занят лидом секции в base.css */
.dlvx-lead-form { display: flex; flex-direction: column; gap: var(--space-sm); padding: var(--space-xl); background: var(--bg-warm-soft); border-radius: var(--radius-xl); }
.dlvx-lead-form .dlvx-field { position: relative; }
.dlvx-lead-form .dlvx-field__label {
  position: absolute; inset-block-start: var(--space-xs); inset-inline-start: var(--space-md);
  font-size: var(--fs-caption); color: var(--text-muted); pointer-events: none;
}
.dlvx-lead-form .dlvx-input { min-block-size: 64px; padding-block-start: var(--space-xl); background: var(--bg-page); }
.dlvx-lead-form__trap { position: absolute; inline-size: 1px; block-size: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.dlvx-lead-form .dlvx-alert { margin-block-end: var(--space-xs); }
@media (max-width: 899px) { .dlvx-lead-form { padding: 0; background: transparent; } }

/* ═══ ЛИПКАЯ ПАНЕЛЬ (mobile) ═══════════════════════════════════════════ */
.dlvx-sticky-bar {
  position: fixed; inset-inline: 0; inset-block-end: 0; z-index: var(--z-sticky);
  display: flex; align-items: center; justify-content: space-between; gap: var(--space-md);
  min-block-size: 72px; padding: var(--space-sm) var(--space-md);
  padding-block-end: calc(var(--space-sm) + env(safe-area-inset-bottom));
  background: var(--bg-page); box-shadow: var(--shadow-sticky);
}
.dlvx-sticky-bar__meta { display: flex; flex-direction: column; gap: 2px; }
.dlvx-sticky-bar__sum { font-size: var(--fs-title-l); font-weight: var(--fw-bold); font-variant-numeric: tabular-nums; }
@media (min-width: 900px) { .dlvx-sticky-bar { display: none; } }

/* ═══ КРОШКИ ═══════════════════════════════════════════════════════════ */
.dlvx-breadcrumbs [aria-current="page"] { display: inline-block; max-inline-size: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; vertical-align: bottom; }
.dlvx-breadcrumbs a { display: inline-block; padding-block: var(--space-2xs); color: var(--text-muted); text-decoration: none; }
.dlvx-breadcrumbs a:hover { color: var(--text-accent); text-decoration: underline; }
.dlvx-breadcrumbs li + li::before { content: '›'; margin-inline: var(--space-2xs); color: var(--icon-muted); }
.dlvx-breadcrumbs-wrap { padding-block: var(--space-md) var(--space-xs); }

/* ═══ ШАПКА СТРАНИЦЫ (каталог, раздел) ═════════════════════════════════ */
.dlvx-page-hero { padding-block: var(--space-md) var(--space-2xl); }
.dlvx-page-hero--tight { padding-block-end: var(--space-xl); }
.dlvx-page-hero__text { display: flex; flex-direction: column; gap: var(--space-md); margin-block-start: var(--space-lg); max-width: 80ch; }
.dlvx-page-hero__text .dlvx-lead { color: var(--text-muted); }
.dlvx-page-hero .dlvx-display { font-size: clamp(30px, 3vw, 40px); }

/* Лента условий под заголовком раздела (03) */
.dlvx-conditions-strip { background: var(--bg-warm-soft); border-block: 1px solid var(--border-subtle); }
.dlvx-conditions-strip__inner { display: grid; gap: var(--space-md); grid-template-columns: repeat(2, 1fr); padding-block: var(--space-lg); }
@media (min-width: 900px) { .dlvx-conditions-strip__inner { grid-template-columns: repeat(4, 1fr); gap: var(--space-xl); } }
.dlvx-conditions-strip__item { display: flex; flex-direction: column; gap: var(--space-2xs); }
.dlvx-conditions-strip__value { font-size: var(--fs-title-l); line-height: var(--lh-title-l); font-weight: var(--fw-semibold); color: var(--text-success); }
.dlvx-conditions-strip__label { font-size: var(--fs-body-s); color: var(--text-muted); }

/* ═══ РАЗДЕЛ: ФИЛЬТР + ВЫДАЧА ══════════════════════════════════════════
   На десктопе — сайдбар 280 + сетка; на мобильной фильтр сворачивается в
   <details>, товары по два в ряд (ТЗ §2). */
.dlvx-landing__grid { display: grid; gap: var(--space-xl); align-items: start; }
@media (min-width: 900px) { .dlvx-landing__grid { grid-template-columns: 268px minmax(0, 1fr); gap: var(--space-2xl); } }
.dlvx-filter__shell { border: 1px solid var(--border-default); border-radius: var(--radius-lg); background: var(--surface-card); }
.dlvx-filter__summary {
  display: flex; align-items: center; justify-content: space-between; gap: var(--space-sm);
  min-block-size: var(--size-control-md); padding: var(--space-sm) var(--space-lg);
  font-weight: var(--fw-semibold); cursor: pointer; list-style: none;
}
.dlvx-filter__summary::-webkit-details-marker { display: none; }
.dlvx-filter__summary::after { content: ''; inline-size: 10px; block-size: 10px; border-right: 2px solid var(--icon-muted); border-bottom: 2px solid var(--icon-muted); transform: rotate(45deg); transition: transform var(--dur-dropdown) var(--ease-out); }
.dlvx-filter__shell[open] .dlvx-filter__summary::after { transform: rotate(225deg); }
.dlvx-filter__badge { display: inline-grid; place-items: center; min-inline-size: 20px; block-size: 20px; padding-inline: var(--space-2xs); border-radius: var(--radius-full); background: var(--bg-accent); color: var(--text-inverse); font-size: var(--fs-caption); font-weight: var(--fw-semibold); }
.dlvx-filter__body { display: flex; flex-direction: column; gap: var(--space-lg); padding: 0 var(--space-lg) var(--space-lg); }
.dlvx-filter__stock { padding: var(--space-sm) var(--space-md); border-radius: var(--radius-md); background: var(--bg-success-soft); }
.dlvx-filter__group { border: 0; padding: 0; margin: 0; display: flex; flex-direction: column; gap: var(--space-xs); }
.dlvx-filter__legend { padding: 0; margin-block-end: var(--space-2xs); color: var(--text-muted); }
.dlvx-filter__chips { display: flex; flex-wrap: wrap; gap: var(--space-xs); }
.dlvx-chip--filter { cursor: pointer; }
.dlvx-chip--filter:has(input:focus-visible) { box-shadow: var(--focus-ring); }
.dlvx-filter__num { margin-inline-start: var(--space-2xs); color: var(--text-muted); font-size: var(--fs-caption); }
.dlvx-chip--selected .dlvx-filter__num { color: inherit; opacity: .8; }
.dlvx-filter__foot { display: flex; gap: var(--space-sm); }
.dlvx-filter__foot .dlvx-filter__apply { flex: 1; }
.dlvx-filter__hint { margin-block-start: var(--space-sm); }
/* На десктопе фильтр всегда раскрыт (details получает open скриптом),
   заголовок-переключатель не нужен */
@media (min-width: 900px) {
  .dlvx-filter__summary { display: none; }
  .dlvx-filter__body { padding-block-start: var(--space-lg); }
}
.dlvx-results__head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--space-sm); margin-block-end: var(--space-lg); }
.dlvx-results__count { color: var(--text-muted); }
.dlvx-results__sort { display: flex; flex-wrap: wrap; gap: var(--space-xs); }
.dlvx-results__sort .dlvx-chip { text-decoration: none; }
@media (min-width: 1100px) { .dlvx-grid--products-3 { grid-template-columns: repeat(3, 1fr); } }

/* Готовые подборки */
.dlvx-picks { display: flex; flex-wrap: wrap; gap: var(--space-sm); list-style: none; }
.dlvx-pick {
  display: flex; flex-direction: column; gap: 2px;
  padding: var(--space-sm) var(--space-md); border: 1px solid var(--border-default); border-radius: var(--radius-md);
  background: var(--surface-card); text-decoration: none; color: var(--text-primary);
  transition: border-color var(--dur-hover) var(--ease-out);
}
.dlvx-pick:hover { border-color: var(--border-accent); }
.dlvx-pick__name { font-weight: var(--fw-medium); }
.dlvx-pick__more { font-size: var(--fs-caption); color: var(--text-success); }

/* ═══ КАРТОЧКА ТОВАРА (06) ═════════════════════════════════════════════
   Две колонки 620 + 620 при 1280, зазор 40; блок покупки липкий. */
.dlvx-card__layout { display: grid; gap: var(--space-2xl); padding-block: var(--space-md) var(--space-3xl); align-items: start; }
@media (min-width: 900px) {
  .dlvx-card__layout { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--space-3xl); }
  .dlvx-card__buy { position: sticky; top: var(--space-lg); }
}
.dlvx-card__buy { display: flex; flex-direction: column; gap: var(--space-lg); }
.dlvx-card__block { display: flex; flex-direction: column; gap: var(--space-sm); }
.dlvx-card__topline { display: flex; align-items: center; justify-content: space-between; gap: var(--space-md); }
.dlvx-card__topline a { display: inline-flex; align-items: center; gap: var(--space-2xs); color: var(--text-accent); text-decoration: none; }
.dlvx-card__fav { display: inline-flex; align-items: center; gap: var(--space-2xs); min-block-size: var(--size-control-md); padding-inline: var(--space-xs); border-radius: var(--radius-md); font-size: var(--fs-body-s); color: var(--text-muted); }
@media (hover: hover) and (pointer: fine) { .dlvx-card__fav:hover { color: var(--text-accent); background: var(--bg-accent-soft); } }
.dlvx-card__gallery { display: flex; flex-direction: column; gap: var(--space-sm); min-inline-size: 0; }
.dlvx-gallery__main { margin: 0; background: var(--bg-subtle); border-radius: var(--radius-xl); }
.dlvx-gallery__main > img { object-fit: contain; }
/* Лента миниатюр прокручивается внутри себя: у товара бывает 30+ кадров,
   и без этого страница уезжает вбок на 390 */
.dlvx-gallery__strip { display: flex; gap: var(--space-sm); padding-block-end: var(--space-2xs); max-inline-size: 100%; overflow-x: auto; overscroll-behavior-x: contain; scrollbar-width: thin; }
.dlvx-gallery__thumb { flex: none; inline-size: 72px; border-radius: var(--radius-md); overflow: hidden; border: 1px solid var(--border-default); background: var(--bg-subtle); padding: 0; }
.dlvx-gallery__thumb > img { aspect-ratio: 3 / 4; object-fit: cover; inline-size: 100%; }
.dlvx-gallery__thumb[aria-pressed="true"] { border-color: var(--border-accent); box-shadow: 0 0 0 1px var(--border-accent); }
@media (min-width: 900px) { .dlvx-gallery__thumb { inline-size: 93px; } }
.dlvx-card__chips { display: flex; flex-wrap: wrap; gap: var(--space-2xs); list-style: none; }
.dlvx-chip--spec { min-height: var(--size-control-sm); background: var(--bg-success-soft); color: var(--text-success); border-color: transparent; cursor: default; }
.dlvx-card__price { display: flex; flex-direction: column; gap: var(--space-sm); padding: var(--space-lg); background: var(--bg-info); border-radius: var(--radius-lg); }
.dlvx-card__levels { border-bottom: 0; gap: var(--space-xs); background: var(--bg-page); border-radius: var(--radius-full); padding: var(--space-2xs); }
.dlvx-card__levels .dlvx-tab { flex: 1; min-block-size: var(--size-control-sm); border: 1px solid transparent; border-radius: var(--radius-full); margin: 0; text-align: center; }
.dlvx-card__levels .dlvx-tab[aria-selected="true"] { border-color: var(--border-accent); color: var(--text-primary); }
.dlvx-card__level-min { display: block; font-size: var(--fs-caption); font-weight: var(--fw-regular); color: var(--text-muted); }
.dlvx-card__price-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-md); }
.dlvx-card__price-grid > div { display: flex; flex-direction: column; gap: 2px; }
.dlvx-sizetable { display: flex; flex-direction: column; border: 1px solid var(--border-subtle); border-radius: var(--radius-lg); overflow: hidden; }
.dlvx-sizetable__head, .dlvx-sizerow { display: grid; grid-template-columns: 1fr 1fr 1fr 140px; align-items: center; gap: var(--space-sm); padding: var(--space-sm) var(--space-md); }
.dlvx-sizetable__head { background: var(--bg-subtle); font-size: var(--fs-overline); letter-spacing: var(--ls-overline); text-transform: uppercase; color: var(--text-muted); font-weight: var(--fw-semibold); }
.dlvx-sizerow + .dlvx-sizerow { border-top: 1px solid var(--border-subtle); }
.dlvx-sizerow--out { background: var(--bg-subtle); }
.dlvx-sizerow__size { font-weight: var(--fw-semibold); font-variant-numeric: tabular-nums; }
.dlvx-sizerow__stock--in { color: var(--text-success); }
.dlvx-sizerow__stock--out { color: var(--text-danger); }
.dlvx-sizerow__pack { color: var(--text-muted); font-size: var(--fs-body-s); }
.dlvx-qty__btn:disabled { color: var(--text-disabled); cursor: default; }
.dlvx-qty__input { text-align: center; border: 0; background: transparent; inline-size: 100%; font-weight: var(--fw-semibold); font-variant-numeric: tabular-nums; -moz-appearance: textfield; }
.dlvx-qty__input::-webkit-inner-spin-button, .dlvx-qty__input::-webkit-outer-spin-button { -webkit-appearance: none; }
@media (max-width: 599px) {
  .dlvx-sizetable__head { display: none; }
  .dlvx-sizerow { grid-template-columns: 1fr auto; row-gap: var(--space-2xs); }
  .dlvx-sizerow__pack { display: none; }
  .dlvx-sizerow .dlvx-qty { grid-column: 2; grid-row: 1 / 3; }
}
.dlvx-card__note { display: flex; align-items: flex-start; gap: var(--space-xs); font-size: var(--fs-body-s); line-height: var(--lh-body-s); color: var(--text-success); }
.dlvx-card__note .dlvx-icon { flex: none; margin-block-start: 2px; }
.dlvx-card__note.dlvx-muted { color: var(--text-muted); }
.dlvx-card__summary { display: flex; align-items: center; justify-content: space-between; gap: var(--space-md); padding: var(--space-sm) var(--space-lg); background: var(--bg-success-soft); border-radius: var(--radius-lg); }
.dlvx-card__summary-label { color: var(--text-success); font-weight: var(--fw-medium); }
.dlvx-card__actions { display: flex; flex-direction: column; gap: var(--space-sm); }
.dlvx-card__actions-row { display: flex; flex-wrap: wrap; gap: var(--space-sm); }
.dlvx-card__actions-row > * { flex: 1 1 12rem; }
.dlvx-card__terms { display: flex; flex-direction: column; gap: var(--space-xs); padding: var(--space-lg); background: var(--bg-warm-soft); border-radius: var(--radius-lg); list-style: none; font-size: var(--fs-body-s); }
.dlvx-card__terms li { display: flex; align-items: center; gap: var(--space-sm); }
.dlvx-card__terms .dlvx-icon { color: var(--icon-muted); flex: none; }
.dlvx-card__specs { display: grid; gap: var(--space-2xl); }
@media (min-width: 900px) { .dlvx-card__specs { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--space-5xl); } }
.dlvx-specs .dlvx-dl__row { padding-block: var(--space-sm); border-bottom: 1px solid var(--border-subtle); }
.dlvx-card__description { display: flex; flex-direction: column; gap: var(--space-sm); max-width: 72ch; }
.dlvx-card__description p { color: var(--text-body); }
.dlvx-notfound { display: flex; flex-direction: column; gap: var(--space-md); }

/* ═══ ОПТОВЫЕ ПОСАДОЧНЫЕ (11–17, 02) ═══════════════════════════════════ */
.dlvx-doclist { display: grid; gap: var(--space-sm); }
@media (min-width: 900px) { .dlvx-doclist { grid-template-columns: repeat(2, 1fr); gap: var(--space-md) var(--space-2xl); } }
.dlvx-doclist__row { display: flex; flex-direction: column; gap: var(--space-2xs); padding: var(--space-md) var(--space-lg); background: var(--surface-card); border: 1px solid var(--border-default); border-radius: var(--radius-lg); }
.dlvx-doclist__name { display: flex; align-items: center; gap: var(--space-xs); font-weight: var(--fw-semibold); color: var(--text-primary); }
.dlvx-doclist__name .dlvx-icon { color: var(--icon-success); flex: none; }
.dlvx-doclist__name a { color: inherit; text-decoration: none; }
.dlvx-doclist__text { margin: 0; font-size: var(--fs-body-s); line-height: var(--lh-body-s); color: var(--text-body); }
.dlvx-ladder--opt { margin-block-end: var(--space-xl); }
@media (min-width: 900px) { .dlvx-ladder--opt { grid-template-columns: repeat(4, 1fr); } .dlvx-ladder--opt .dlvx-ladder__step { grid-template-columns: 1fr; gap: var(--space-2xs); } }
.dlvx-compare .dlvx-table { min-inline-size: 640px; }
.dlvx-compare .dlvx-table td { vertical-align: top; }
.dlvx-route { display: grid; gap: var(--space-xl); align-items: start; }
@media (min-width: 900px) { .dlvx-route { grid-template-columns: 7fr 5fr; gap: var(--space-3xl); } }
.dlvx-route__photos { grid-template-columns: repeat(2, 1fr); margin-block-end: 0; }
.dlvx-route__info { display: flex; flex-direction: column; gap: var(--space-md); }
.dlvx-route__info .dlvx-btn { align-self: flex-start; }
.dlvx-accordion__body { padding: 0 var(--space-lg) var(--space-lg); color: var(--text-body); }

/* Свотчи: кружок 28 (ТЗ §6), выбранный — обводка */
.dlvx-swatches { display: flex; flex-wrap: wrap; gap: var(--space-sm); }
.dlvx-swatch { inline-size: 28px; block-size: 28px; }
.dlvx-swatch[aria-pressed="true"] { box-shadow: inset 0 0 0 2px var(--bg-page), 0 0 0 2px var(--border-accent); }
.dlvx-ladder__val--muted { font-size: var(--fs-caption); font-weight: var(--fw-medium); color: var(--text-muted); }
.dlvx-section__more { margin: var(--space-lg) 0 0; }
.dlvx-ladder__val--text { font-size: var(--fs-body-s); line-height: var(--lh-body-s); font-weight: var(--fw-semibold); text-align: end; }
/* Карточка в два столбца на телефоне: длинная подпись кнопки переносится, а не вылезает */
@media (max-width: 599px) {
  .dlvx-product .dlvx-btn--block { white-space: normal; padding-inline: var(--space-xs); font-size: var(--fs-body-s); line-height: 1.2; text-align: center; }
}

/* ═══ СЛУЖЕБНЫЕ СТРАНИЦЫ (26–34) ═══════════════════════════════════════ */
.dlvx-contacts { display: grid; gap: var(--space-md); }
@media (min-width: 900px) { .dlvx-contacts { grid-template-columns: 1fr 1fr; gap: var(--space-lg); } }
.dlvx-contact { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-sm); padding: var(--space-xl); background: var(--surface-card); border: 1px solid var(--border-default); border-radius: var(--radius-lg); }
.dlvx-contact--warm { background: var(--bg-warm); border-color: transparent; }
.dlvx-contact p { margin: 0; color: var(--text-body); }
.dlvx-contact__line { display: flex; align-items: flex-start; gap: var(--space-xs); color: var(--text-body); }
.dlvx-contact__line .dlvx-icon { flex: none; color: var(--icon-accent); margin-block-start: 3px; }
.dlvx-contact__value { font-size: var(--fs-title-m); font-weight: var(--fw-semibold); color: var(--text-primary); text-decoration: none; }
a.dlvx-contact__value:hover { color: var(--text-accent); }
.dlvx-contact .dlvx-hero__actions { margin-block-start: var(--space-xs); }
.dlvx-size-chips { display: inline-flex; flex-wrap: wrap; gap: var(--space-2xs); }
.dlvx-size-table td { vertical-align: top; }
.dlvx-size-table td a { color: var(--text-primary); text-decoration: none; font-weight: var(--fw-medium); }
.dlvx-size-table td a:hover { color: var(--text-accent); }
.dlvx-empty--cta { text-align: start; }
.dlvx-legal { max-inline-size: 72ch; }
.dlvx-legal__contacts { display: flex; flex-direction: column; gap: var(--space-xs); }
.dlvx-legal__contacts p { margin: 0; }
.dlvx-article__meta { display: flex; flex-wrap: wrap; gap: var(--space-xs) var(--space-md); font-size: var(--fs-caption); color: var(--text-muted); }
.dlvx-article__answer { margin-block-end: var(--space-xl); }
.dlvx-article__answer p { margin: var(--space-2xs) 0 0; }
.dlvx-article__body { max-inline-size: none; }
.dlvx-article__next { display: flex; flex-direction: column; gap: var(--space-md); }
.dlvx-featured { display: grid; gap: var(--space-xl); align-items: start; }
@media (min-width: 900px) { .dlvx-featured { grid-template-columns: 7fr 5fr; gap: var(--space-3xl); } }
.dlvx-featured__text { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-md); }
.dlvx-featured__link { color: inherit; text-decoration: none; }
.dlvx-featured__link:hover { color: var(--text-accent); }
.dlvx-featured__answer { display: flex; flex-direction: column; gap: var(--space-xs); padding: var(--space-lg); background: var(--bg-info); border: 1px solid var(--border-info); border-radius: var(--radius-lg); color: var(--text-body); }
.dlvx-featured__answer p { margin: 0; }
.dlvx-search-page__form { display: flex; flex-wrap: wrap; gap: var(--space-sm); max-inline-size: 640px; margin-block-start: var(--space-sm); }
.dlvx-search-page__form input { flex: 1 1 240px; min-inline-size: 0; }
.dlvx-search__count { margin: 0 0 var(--space-lg); color: var(--text-muted); }

/* ═══ ЗАЯВКА (20–22): шаги, список позиций, итог, оформление ═══════════ */
.dlvx-checkout-steps { display: flex; flex-wrap: wrap; gap: var(--space-xs); list-style: none; margin: 0 0 var(--space-xl); padding: 0; }
.dlvx-checkout-steps__item { flex: 1 1 180px; display: flex; align-items: center; gap: var(--space-xs); min-block-size: 44px; padding: var(--space-xs) var(--space-md); border-radius: var(--radius-full); background: var(--bg-muted); color: var(--text-muted); font-size: var(--fs-body-s); line-height: var(--lh-body-s); }
.dlvx-checkout-steps__item--current { background: var(--bg-inverse); color: var(--text-inverse); font-weight: var(--fw-semibold); }
.dlvx-checkout-steps__item--done { background: var(--bg-success-soft); color: var(--text-success); }
.dlvx-checkout-steps__num { display: grid; place-items: center; inline-size: 22px; block-size: 22px; flex: none; border-radius: var(--radius-full); background: color-mix(in srgb, currentColor 16%, transparent); font-size: var(--fs-caption); font-weight: var(--fw-semibold); font-variant-numeric: tabular-nums; }
.dlvx-checkout-steps__item--done .dlvx-checkout-steps__num { background: var(--bg-success); color: var(--text-inverse); }

.dlvx-zayavka { display: grid; gap: var(--space-xl); align-items: start; }
@media (min-width: 1024px) { .dlvx-zayavka { grid-template-columns: minmax(0, 1fr) 380px; gap: var(--space-3xl); } .dlvx-zayavka__aside { position: sticky; top: var(--space-lg); } }
.dlvx-zayavka__list, .dlvx-zayavka__aside { display: flex; flex-direction: column; gap: var(--space-md); min-inline-size: 0; }
.dlvx-zayavka__notice { margin-block-end: var(--space-md); }
.dlvx-zayavka__empty { margin-block-end: var(--space-xl); }
.dlvx-zayavka__refresh { align-self: flex-start; }
.dlvx-has-js .dlvx-zayavka__refresh { display: none; }
.dlvx-zayavka__back { align-self: center; font-size: var(--fs-body-s); }

.dlvx-zline { border: 1px solid var(--border-default); border-radius: var(--radius-lg); background: var(--surface-card); overflow: hidden; }
.dlvx-zline__head { display: grid; grid-template-columns: 72px minmax(0, 1fr); gap: var(--space-md); padding: var(--space-md); }
@media (min-width: 640px) { .dlvx-zline__head { grid-template-columns: 84px minmax(0, 1fr) auto; align-items: start; } }
.dlvx-zline__media { inline-size: 100%; }
.dlvx-zline__info { display: flex; flex-direction: column; gap: var(--space-2xs); min-inline-size: 0; }
.dlvx-zline__name { font-size: var(--fs-title-m); line-height: var(--lh-title-m); font-weight: var(--fw-semibold); color: var(--text-primary); text-decoration: none; }
.dlvx-zline__name:hover { color: var(--text-accent); }
.dlvx-zline__meta { font-size: var(--fs-body-s); color: var(--text-muted); }
.dlvx-zline__total { grid-column: 1 / -1; display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--space-xs); }
@media (min-width: 640px) { .dlvx-zline__total { grid-column: auto; flex-direction: column; align-items: flex-end; text-align: end; gap: 2px; } }

.dlvx-zsizes { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--border-subtle); }
.dlvx-zsize { display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "label del" "qty price" "stock stock"; gap: var(--space-xs) var(--space-md); align-items: center; padding: var(--space-sm) var(--space-md); background: var(--surface-sunken); }
.dlvx-zsize + .dlvx-zsize { border-top: 1px solid var(--border-subtle); }
@media (min-width: 560px) { .dlvx-zsize { grid-template-columns: minmax(96px, 1fr) auto minmax(120px, auto) 44px; grid-template-areas: "label qty price del" "stock stock stock stock"; } }
.dlvx-zsize__label { grid-area: label; display: flex; flex-direction: column; gap: 2px; min-inline-size: 0; }
.dlvx-zsize__size { font-size: var(--fs-body-m); font-weight: var(--fw-medium); color: var(--text-primary); }
.dlvx-zsize .dlvx-qty { grid-area: qty; }
.dlvx-zsize__price { grid-area: price; display: flex; flex-direction: column; align-items: flex-end; text-align: end; }
.dlvx-zsize__na { grid-area: qty / qty / price / price; }
.dlvx-zsize__del { grid-area: del; justify-self: end; display: grid; place-items: center; inline-size: 44px; block-size: 44px; border: 0; border-radius: var(--radius-md); background: transparent; color: var(--icon-muted); cursor: pointer; }
.dlvx-zsize__del:hover { color: var(--text-danger); background: var(--bg-danger-soft); }
.dlvx-zsize__stock { grid-area: stock; color: var(--text-warning); }
.dlvx-zsize--na { opacity: .8; }

.dlvx-zsum, .dlvx-znext { display: flex; flex-direction: column; gap: var(--space-md); padding: var(--space-xl); border: 1px solid var(--border-subtle); border-radius: var(--radius-lg); background: var(--bg-warm-soft); }
.dlvx-znext { background: var(--surface-card); border-color: var(--border-default); }
.dlvx-zsum__note { margin: 0; padding: var(--space-sm) var(--space-md); border-radius: var(--radius-md); background: var(--bg-warning-soft); color: var(--text-warning); font-size: var(--fs-body-s); }
.dlvx-zsum__gap { margin: 0; font-size: var(--fs-body-s); line-height: var(--lh-body-s); color: var(--text-body); }
.dlvx-znext ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: var(--space-xs); }
.dlvx-znext li { display: flex; gap: var(--space-xs); font-size: var(--fs-body-s); line-height: var(--lh-body-s); color: var(--text-body); }
.dlvx-znext li::before { content: ""; flex: none; inline-size: 8px; block-size: 8px; margin-block-start: 6px; border-radius: var(--radius-full); background: var(--bg-accent); }
.dlvx-ladder--compact .dlvx-ladder__step { padding: var(--space-xs) var(--space-sm); }
.dlvx-ladder--compact .dlvx-ladder__name { font-size: var(--fs-body-s); }

.dlvx-order { display: grid; gap: var(--space-xl); align-items: start; }
@media (min-width: 900px) { .dlvx-order { grid-template-columns: minmax(0, 1fr) 380px; gap: var(--space-3xl); } .dlvx-order__aside { position: sticky; top: var(--space-lg); } }
.dlvx-order__main, .dlvx-order__aside { display: flex; flex-direction: column; gap: var(--space-md); min-inline-size: 0; }
.dlvx-order__block { display: flex; flex-direction: column; gap: var(--space-md); margin: 0; padding: var(--space-xl); border: 1px solid var(--border-default); border-radius: var(--radius-lg); background: var(--surface-card); min-inline-size: 0; }
.dlvx-order__block > legend { padding: 0; float: left; inline-size: 100%; margin-block-end: var(--space-xs); }
.dlvx-order__block > legend + * { clear: both; }
.dlvx-order__fields { display: grid; gap: var(--space-md); }
@media (min-width: 560px) { .dlvx-order__fields { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.dlvx-order__payer-list { display: flex; flex-wrap: wrap; gap: var(--space-lg); }
.dlvx-order__ways { display: flex; flex-direction: column; gap: var(--space-xs); }
.dlvx-order__way { align-items: flex-start; gap: var(--space-md); padding: var(--space-md); border: 1px solid var(--border-input); border-radius: var(--radius-md); background: var(--bg-page); }
.dlvx-order__way .dlvx-check__text { display: flex; flex-direction: column; gap: 2px; flex: 1; min-inline-size: 0; }
.dlvx-order__way-price { margin-inline-start: auto; flex: none; font-size: var(--fs-body-s); font-weight: var(--fw-semibold); color: var(--text-price); white-space: nowrap; }
.dlvx-order__way:has(input:checked) { border-color: var(--border-accent); background: var(--bg-warm-soft); }
.dlvx-order__way:has(input:focus-visible) { box-shadow: var(--focus-ring); }
.dlvx-order__sum { display: flex; flex-direction: column; gap: var(--space-md); padding: var(--space-xl); border: 1px solid var(--border-subtle); border-radius: var(--radius-lg); background: var(--bg-warm-soft); }
.dlvx-order__sum .dlvx-table th { background: transparent; }
.dlvx-order__table td:first-child { max-inline-size: 22ch; }
.dlvx-order__req-note { margin: 0; }

.dlvx-done { display: flex; flex-direction: column; gap: var(--space-lg); }
.dlvx-done__dl { padding: var(--space-lg); border: 1px solid var(--border-subtle); border-radius: var(--radius-lg); background: var(--bg-warm-soft); }
.dlvx-stages { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--space-xs); }
.dlvx-stage { display: grid; grid-template-columns: 32px minmax(0, 1fr); gap: var(--space-md); padding: var(--space-md); border: 1px solid var(--border-subtle); border-radius: var(--radius-lg); background: var(--surface-card); }
.dlvx-stage--current { border-color: var(--border-accent); background: var(--bg-info); }
.dlvx-stage__num { display: grid; place-items: center; inline-size: 32px; block-size: 32px; border-radius: var(--radius-full); background: var(--bg-muted); color: var(--text-muted); font-weight: var(--fw-semibold); font-variant-numeric: tabular-nums; }
.dlvx-stage--current .dlvx-stage__num { background: var(--bg-accent); color: var(--text-inverse); }
.dlvx-stage__body { display: flex; flex-direction: column; gap: 2px; }
.dlvx-stage__head { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-xs); }
.dlvx-stage__title { font-weight: var(--fw-semibold); color: var(--text-primary); }
.dlvx-stage__text { margin: 0; font-size: var(--fs-body-s); line-height: var(--lh-body-s); color: var(--text-body); }

/* Липкая панель: только на телефоне; контент не прячется под ней */
.dlvx-zayavka__sticky, .dlvx-order__sticky { display: none; }
@media (max-width: 899px) {
  .dlvx-zayavka__sticky, .dlvx-order__sticky, .dlvx-card__sticky:not([hidden]) { display: flex; }
  body:has(.dlvx-zayavka__sticky), body:has(.dlvx-order__sticky), body:has(.dlvx-card__sticky:not([hidden])) { padding-block-end: 84px; }
}
/* Способ отгрузки на телефоне: цена под текстом, а не в узкой третьей колонке */
@media (max-width: 559px) {
  .dlvx-order__way { flex-wrap: wrap; }
  .dlvx-order__way .dlvx-check__text { flex-basis: calc(100% - 20px - var(--space-md)); }
  .dlvx-order__way-price { flex-basis: 100%; margin-inline-start: calc(20px + var(--space-md)); }
}

/* ═══ КАБИНЕТ И ВХОД (23–26) ══════════════════════════════════════════ */
.dlvx-auth { display: grid; gap: var(--space-xl); align-items: start; }
@media (min-width: 900px) { .dlvx-auth { grid-template-columns: minmax(0, 1fr) 320px; gap: var(--space-3xl); } }
.dlvx-auth__form { display: flex; flex-direction: column; gap: var(--space-md); padding: var(--space-xl); border: 1px solid var(--border-default); border-radius: var(--radius-lg); background: var(--surface-card); }
.dlvx-auth__form .dlvx-caption { margin: 0; }
.dlvx-auth__aside { display: flex; flex-direction: column; gap: var(--space-sm); padding: var(--space-xl); border-radius: var(--radius-lg); background: var(--bg-warm-soft); color: var(--text-body); }
.dlvx-auth__aside p { margin: 0; }

.dlvx-account { display: grid; gap: var(--space-xl); align-items: start; }
@media (min-width: 900px) { .dlvx-account { grid-template-columns: 240px minmax(0, 1fr); gap: var(--space-3xl); } .dlvx-account__nav { position: sticky; top: var(--space-lg); } }
.dlvx-account__nav ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: var(--space-2xs); }
@media (min-width: 900px) { .dlvx-account__nav ul { flex-direction: column; } }
.dlvx-account__link { display: block; padding: var(--space-xs) var(--space-md); border-radius: var(--radius-full); color: var(--text-body); text-decoration: none; font-size: var(--fs-body-s); font-weight: var(--fw-medium); background: var(--bg-muted); border: 0; cursor: pointer; font-family: inherit; }
@media (min-width: 900px) { .dlvx-account__link { border-radius: var(--radius-md); background: transparent; } }
.dlvx-account__link:hover { color: var(--text-accent); background: var(--bg-subtle); }
.dlvx-account__link--current { background: var(--bg-inverse); color: var(--text-inverse); }
.dlvx-account__link--current:hover { background: var(--bg-inverse); color: var(--text-inverse); }
.dlvx-account__link--button { inline-size: 100%; text-align: start; color: var(--text-muted); }
.dlvx-account__main { display: flex; flex-direction: column; gap: var(--space-xl); min-inline-size: 0; }
.dlvx-account__main > .dlvx-h3 { margin: 0; }
.dlvx-account__cards { display: grid; gap: var(--space-md); }
@media (min-width: 700px) { .dlvx-account__cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.dlvx-account__card { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-sm); padding: var(--space-xl); border: 1px solid var(--border-default); border-radius: var(--radius-lg); background: var(--surface-card); min-inline-size: 0; }
.dlvx-account__card--warm { background: var(--bg-warm-soft); border-color: transparent; }
.dlvx-account__card p { margin: 0; color: var(--text-body); font-size: var(--fs-body-s); line-height: var(--lh-body-s); }
.dlvx-account__card .dlvx-dl { inline-size: 100%; }
.dlvx-account__card .dlvx-hero__actions { margin-block-start: var(--space-xs); }
.dlvx-orders-table td a { color: var(--text-primary); text-decoration: none; }
.dlvx-orders-table td a:hover { color: var(--text-accent); }
.dlvx-price-table__sizes { display: block; }

.dlvx-stagechips { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: var(--space-xs); }
.dlvx-stagechips__item { padding: var(--space-xs) var(--space-md); border-radius: var(--radius-full); background: var(--bg-muted); color: var(--text-muted); font-size: var(--fs-body-s); line-height: var(--lh-body-s); }
.dlvx-stagechips__item--done { background: var(--bg-success-soft); color: var(--text-success); }
.dlvx-stagechips__item--current { background: var(--bg-inverse); color: var(--text-inverse); font-weight: var(--fw-semibold); }
.dlvx-stagechips__item--failed { background: var(--bg-danger-soft); color: var(--text-danger); font-weight: var(--fw-semibold); }
