/* === Корзина и оформление заказа (Design2: cart.html, checkout.html) — перенесено из инлайн-стилей макетов 27.09.2026 === */
      .cart-layout {
        align-items: start;
        display: grid;
        gap: 22px;
        grid-template-columns: minmax(0, 1fr) 340px;
        margin-top: 24px;
      }
      .cart-list,
      .cart-summary {
        background: var(--white);
        border: 1px solid var(--sand);
        border-radius: var(--radius);
      }
      .cart-list {
        overflow: hidden;
      }
      .cart-table {
        border-collapse: collapse;
        width: 100%;
      }
      .cart-table th {
        background: var(--cream);
        color: var(--text-muted);
        font-size: 10px;
        letter-spacing: 0.08em;
        padding: 13px 14px;
        text-align: left;
        text-transform: uppercase;
      }
      .cart-table td {
        border-top: 1px solid var(--sand);
        padding: 14px;
        vertical-align: middle;
      }
      .cart-product {
        align-items: center;
        display: flex;
        gap: 12px;
        min-width: 250px;
      }
      .cart-product-image {
        background: var(--cream-dark);
        border-radius: var(--radius-sm);
        flex: 0 0 78px;
        height: 78px;
        overflow: hidden;
        width: 78px;
      }
      .cart-product-image img {
        height: 100%;
        object-fit: cover;
        width: 100%;
      }
      .cart-product .nm {
        color: var(--wood-dark);
        display: block;
        font-size: 13px;
        font-weight: 700;
        line-height: 1.3;
      }
      .cart-price,
      .cart-sum {
        color: var(--wood-dark);
        font-size: 14px;
        font-weight: 700;
        white-space: nowrap;
      }
      .cart-qty {
        align-items: center;
        display: inline-flex;
        gap: 6px;
      }
      .cart-qty .inp {
        max-width: 70px;
        min-height: 40px;
        padding: 7px 10px;
        text-align: center;
      }
      .cart-unit {
        color: var(--text-muted);
        font-size: 12px;
      }
      .cart-remove {
        align-items: center;
        background: var(--cream);
        border: 0;
        border-radius: 50%;
        color: var(--text-muted);
        cursor: pointer;
        display: flex;
        height: 32px;
        justify-content: center;
        transition: var(--transition);
        width: 32px;
      }
      .cart-remove:hover {
        background: var(--wood-dark);
        color: var(--white);
      }
      .cart-actions {
        border-top: 1px solid var(--sand);
        display: flex;
        flex-wrap: wrap;
        gap: 10px;
        padding: 16px;
      }
      .cart-summary {
        padding: 22px;
        position: sticky;
        top: calc(var(--header-h) + 18px);
      }
      .cart-summary h2 {
        font-size: 25px;
        margin: 0 0 18px;
      }
      .promo-row {
        display: flex;
        gap: 8px;
      }
      .promo-row .btn {
        min-width: 52px;
        padding-inline: 12px;
      }
      .cart-summary-row {
        align-items: center;
        color: var(--text-secondary);
        display: flex;
        font-size: 13px;
        justify-content: space-between;
        margin-top: 14px;
      }
      .cart-total {
        align-items: baseline;
        border-top: 1px solid var(--sand);
        color: var(--wood-dark);
        display: flex;
        font-size: 15px;
        font-weight: 700;
        justify-content: space-between;
        margin-top: 18px;
        padding-top: 18px;
      }
      .cart-total strong {
        font-size: 25px;
        letter-spacing: -0.04em;
      }
      .cart-summary .btn-block {
        margin-top: 20px;
      }
      .cart-benefits {
        display: flex;
        flex-direction: column;
        gap: 7px;
        margin-top: 18px;
      }
      .cart-benefits span {
        color: var(--text-secondary);
        font-size: 12px;
      }
      .cart-delivery-link {
        display: inline-block;
        margin-top: 12px;
      }
      .cart-empty {
        display: none;
        padding: 54px 24px;
        text-align: center;
      }
      .cart-empty h2 {
        margin: 0 0 10px;
      }
      .cart-empty p {
        color: var(--text-secondary);
        margin-bottom: 20px;
      }
      .cart-recommendations {
        margin-top: 64px;
      }
      .cart-recommendations .card-img {
        aspect-ratio: 4 / 3;
      }
      .cart-recommendations .card-img img {
        height: 100%;
        object-fit: cover;
        width: 100%;
      }
      @media (max-width: 1023px) {
        .cart-layout {
          grid-template-columns: minmax(0, 1fr) 290px;
        }
      }
      @media (max-width: 767px) {
        .cart-layout {
          display: block;
        }
        .cart-list {
          border: 0;
          background: transparent;
          overflow: visible;
        }
        .cart-table,
        .cart-table tbody,
        .cart-table tr,
        .cart-table td {
          display: block;
        }
        .cart-table thead {
          display: none;
        }
        .cart-table tr {
          background: var(--white);
          border: 1px solid var(--sand);
          border-radius: var(--radius);
          margin-bottom: 12px;
          padding: 14px;
          position: relative;
        }
        .cart-table td {
          align-items: center;
          border: 0;
          display: flex;
          justify-content: space-between;
          padding: 7px 0 7px 92px;
          position: relative;
        }
        .cart-table td::before {
          color: var(--text-muted);
          content: attr(data-label);
          font-size: 10px;
          font-weight: 700;
          left: 0;
          letter-spacing: 0.08em;
          position: absolute;
          text-transform: uppercase;
        }
        .cart-table td.cart-product-cell {
          display: block;
          padding: 0 0 12px;
        }
        .cart-table td.cart-product-cell::before {
          display: none;
        }
        .cart-product {
          min-width: 0;
        }
        .cart-remove {
          position: absolute;
          right: 14px;
          top: 14px;
        }
        .cart-actions {
          background: transparent;
          border: 0;
          padding: 4px 0 0;
        }
        .cart-actions .btn {
          flex: 1 1 100%;
        }
        .cart-summary {
          margin-top: 18px;
          position: static;
        }
        .cart-recommendations {
          margin-top: 48px;
        }
      }

/* === Оформление заказа === */
      /* Раскладка: шаги оформления + сайдбар «Ваш заказ» */
      .co-layout {
        align-items: start;
        display: grid;
        gap: 22px;
        grid-template-columns: minmax(0, 1fr) 360px;
        margin-top: 24px;
      }
      .co-sec {
        background: var(--white);
        border: 1px solid var(--sand);
        border-radius: var(--radius);
        margin-bottom: 16px;
        padding: 22px;
      }
      .co-sec > h2 {
        font-size: 21px;
        margin: 0 0 14px;
      }
      .co-sec > h2 .step-n {
        color: var(--green);
      }
      .co-note {
        color: var(--text-muted);
        font-size: 12px;
        line-height: 1.55;
        margin-top: 10px;
      }

      /* Радио-опции плашками */
      .opts {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        margin: 8px 0;
      }
      .opts label {
        align-items: center;
        background: var(--cream);
        border: 1px solid var(--sand);
        border-radius: var(--radius-pill);
        cursor: pointer;
        display: inline-flex;
        font-size: 13px;
        font-weight: 600;
        gap: 8px;
        min-height: 44px;
        padding: 9px 16px;
        transition: var(--transition);
      }
      .opts label:hover {
        border-color: var(--wood-dark);
      }
      .opts label:has(input:checked) {
        background: var(--wood-dark);
        border-color: var(--wood-dark);
        color: #fff;
      }
      .opts input {
        accent-color: var(--green);
        cursor: pointer;
        height: 16px;
        width: 16px;
      }
      .opts .opt-price {
        color: var(--green);
        font-weight: 800;
        white-space: nowrap;
      }
      .opts label:has(input:checked) .opt-price {
        color: var(--green-light);
      }

      /* Выбранный город — плашка с крестиком */
      .city-chip {
        align-items: center;
        background: var(--green-pale);
        border: 1px solid var(--green);
        border-radius: var(--radius-pill);
        color: var(--green);
        display: inline-flex;
        font-size: 13px;
        font-weight: 700;
        gap: 8px;
        margin-top: 10px;
        padding: 9px 14px;
      }
      .city-chip button {
        align-items: center;
        background: none;
        border: 0;
        color: var(--green);
        cursor: pointer;
        display: flex;
        font-size: 14px;
        line-height: 1;
        padding: 2px;
      }

      /* Цена и срок выбранного способа доставки */
      .co-price {
        color: var(--wood-dark);
        font-size: 16px;
        font-weight: 800;
        margin-top: 12px;
      }
      .co-price small {
        color: var(--text-muted);
        font-size: 11px;
        font-weight: 500;
        margin-left: 6px;
      }

      /* Шаги «что будет дальше» */
      .co-steps {
        display: grid;
        gap: 10px;
        margin-top: 4px;
      }
      .co-step {
        align-items: flex-start;
        background: var(--cream);
        border: 1px solid var(--sand);
        border-radius: var(--radius);
        display: flex;
        gap: 12px;
        padding: 13px 14px;
      }
      .co-step i {
        align-items: center;
        background: var(--wood-dark);
        border-radius: 50%;
        color: #fff;
        display: flex;
        flex: none;
        font-size: 12px;
        font-style: normal;
        font-weight: 800;
        height: 28px;
        justify-content: center;
        width: 28px;
      }
      .co-step h3 {
        font-family: 'Inter', sans-serif;
        font-size: 13px;
        letter-spacing: -.01em;
        line-height: 1.3;
        margin: 0;
      }
      .co-step p {
        color: var(--text-muted);
        font-size: 12px;
        line-height: 1.5;
        margin: 3px 0 0;
      }

      /* Сводка сумм */
      .co-rows {
        margin-top: 14px;
      }
      .co-row {
        align-items: baseline;
        color: var(--text-secondary);
        display: flex;
        font-size: 13px;
        gap: 12px;
        justify-content: space-between;
        padding: 6px 0;
      }
      .co-row > span:last-child {
        color: var(--text);
        font-weight: 700;
        white-space: nowrap;
      }
      .co-row.discount > span:last-child {
        color: var(--green);
      }
      .co-total {
        align-items: center;
        border-top: 1px solid var(--sand);
        color: var(--wood-dark);
        display: flex;
        font-size: 14px;
        font-weight: 700;
        gap: 14px;
        justify-content: space-between;
        margin-top: 14px;
        padding-top: 16px;
      }
      .co-total strong {
        flex: none;
        font-size: 24px;
        letter-spacing: -.04em;
        line-height: 1;
        white-space: nowrap;
      }

      /* Сайдбар */
      .co-side {
        background: var(--white);
        border: 1px solid var(--sand);
        border-radius: var(--radius);
        padding: 22px;
        position: sticky;
        top: calc(var(--header-h) + 18px);
      }
      .co-side > h3 {
        font-size: 22px;
        margin: 0 0 14px;
      }
      .co-side .btn-block {
        margin-top: 16px;
      }
      .co-side .promo-row {
        display: flex;
        gap: 8px;
      }
      .co-side .promo-row .btn {
        min-width: 52px;
        padding-inline: 12px;
      }
      .co-side-benefits {
        display: flex;
        flex-wrap: wrap;
        gap: 6px;
        margin-top: 14px;
      }
      .co-side-benefits span {
        background: var(--cream);
        border: 1px solid var(--sand);
        border-radius: var(--radius-pill);
        color: var(--text-secondary);
        font-size: 11px;
        font-weight: 600;
        padding: 7px 10px;
      }
      .co-side .co-note a {
        color: var(--green);
        font-weight: 700;
      }

      /* Позиции заказа в сайдбаре */
      .co-items {
        border-bottom: 1px solid var(--sand);
        display: flex;
        flex-direction: column;
        margin-bottom: 4px;
        padding-bottom: 8px;
      }
      .co-item {
        padding: 9px 0;
      }
      .co-item:first-child {
        padding-top: 2px;
      }
      .co-item .nm {
        color: var(--wood-dark);
        display: block;
        font-size: 13px;
        font-weight: 700;
        letter-spacing: -.01em;
        line-height: 1.35;
      }
      .co-item .artln {
        color: var(--text-muted);
        font-size: 11px;
        margin-top: 3px;
      }
      .co-item b {
        color: var(--wood-dark);
        display: block;
        font-size: 15px;
        font-weight: 800;
        letter-spacing: -.02em;
        margin-top: 5px;
      }

      /* Информационный блок «почему нельзя оплатить сразу» */
      .co-info {
        background: var(--white);
        border: 1px solid var(--sand);
        border-radius: var(--radius);
        margin-top: 4px;
        padding: 20px;
      }
      .co-info h3 {
        font-size: 17px;
        margin: 0 0 8px;
      }
      .co-info p {
        color: var(--text-secondary);
        font-size: 13px;
        line-height: 1.6;
        margin: 0;
      }
      .co-acts {
        display: flex;
        flex-wrap: wrap;
        gap: 10px;
        margin-top: 14px;
      }

      @media (max-width: 1023px) {
        .co-layout {
          grid-template-columns: minmax(0, 1fr) 300px;
        }
      }
      @media (max-width: 767px) {
        .co-layout {
          display: block;
        }
        .co-sec {
          margin-bottom: 12px;
          padding: 16px;
        }
        .co-side {
          margin-top: 18px;
          position: static;
        }
        .co-total strong {
          font-size: 20px;
        }
        .co-acts .btn {
          flex: 1 1 100%;
        }
      }

/* === Добавлено при натяжке (27.09): кнопки ± количества и мелкие состояния === */
.cart-qty-btn {
  align-items: center;
  background: var(--white);
  border: 1px solid var(--sand);
  border-radius: var(--radius-sm);
  color: var(--text-secondary);
  cursor: pointer;
  display: inline-flex;
  font-size: 16px;
  height: 38px;
  justify-content: center;
  line-height: 1;
  transition: var(--transition);
  width: 32px;
}
.cart-qty-btn:hover { border-color: var(--green-light); color: var(--wood-dark); }
.cart-qty.disabled .cart-qty-btn,
.cart-qty.disabled .inp { opacity: .5; pointer-events: none; }
.basket-items-list-item-overlay { background: rgba(255,255,255,.6); inset: 0; position: absolute; }
.cart-product { position: relative; }
.basket-coupon-alert { font-size: 12px; margin: 8px 0; }
.basket-coupon-alert .close-link { color: var(--text-muted); cursor: pointer; margin-left: 8px; text-decoration: underline; }
.btn.disabled { opacity: .5; pointer-events: none; }
#basket-warning { background: #fdf6e3; border: 1px solid var(--sand); border-radius: var(--radius-sm); font-size: 13px; padding: 12px 14px; }

/* === Добавлено при натяжке (29.09): оформление заказа (checkout) и «заказ принят» === */

/* Автокомплит города */
.co-city-wrap { position: relative; }
.co-city-dd {
  background: var(--white);
  border: 1px solid var(--sand);
  border-radius: var(--radius);
  box-shadow: 0 12px 32px rgba(17,18,20,.12);
  display: none;
  left: 0;
  max-height: 260px;
  overflow: auto;
  position: absolute;
  right: 0;
  top: calc(100% + 4px);
  z-index: 30;
}
.co-city-dd.open { display: block; }
.co-city-dd button {
  background: none;
  border: 0;
  cursor: pointer;
  display: block;
  font-size: 13px;
  padding: 10px 14px;
  text-align: left;
  width: 100%;
}
.co-city-dd button:hover,
.co-city-dd button.active { background: var(--cream); }
.co-city-dd .dd-empty { color: var(--text-muted); font-size: 12px; padding: 10px 14px; }

/* Плашка выбранного города (скрыта до выбора из списка) */
.city-chip { display: none; }
.city-chip.show { display: inline-flex; }

/* Доп. опции доставки: подъём, ПВЗ */
.co-opt-sub { display: none; margin-top: 12px; }
.co-opt-sub.show { display: block; }
.co-opt-sub .chk {
  align-items: center;
  cursor: pointer;
  display: inline-flex;
  font-size: 13px;
  gap: 8px;
}
.co-opt-sub .chk input { accent-color: var(--green); height: 16px; width: 16px; }
.co-opt-sub .co-note { margin-top: 4px; }

/* Скрытые блоки (юрлицо / шаги) */
.co-hidden { display: none !important; }

/* Ошибки полей */
.inp.inp-err { border-color: var(--red); box-shadow: 0 0 0 4px rgba(200,30,30,.08); }
.co-err-msg { color: var(--red); font-size: 12px; margin-top: 6px; }
.co-form-err {
  background: #fdeeee;
  border: 1px solid var(--red);
  border-radius: var(--radius-sm);
  display: none;
  font-size: 13px;
  margin-bottom: 12px;
  padding: 12px 14px;
}
.co-form-err.show { display: block; }

/* Строка скидки (динамическая) */
#coDiscountRow.co-hidden { display: none; }

/* Кнопка отправки в процессе */
.btn.btn-loading { opacity: .6; pointer-events: none; position: relative; }

/* Процесс оформления — общий оверлей секций */
.co-sec.busy { opacity: .55; pointer-events: none; }

/* === Страница «заказ принят» (order-success) === */
.os-status {
  background: var(--green-pale);
  border: 1px solid var(--green);
  border-radius: var(--radius);
  margin-top: 18px;
  padding: 20px;
}
.os-status h3 { font-size: 19px; margin: 0 0 8px; }
.os-status p { color: var(--text-secondary); font-size: 13px; line-height: 1.6; margin: 0; }

.co-table-wrap { overflow-x: auto; }
.co-table { border-collapse: collapse; width: 100%; }
.co-table th {
  color: var(--text-muted);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .08em;
  padding: 8px 12px;
  text-align: left;
  text-transform: uppercase;
}
.co-table td { border-top: 1px solid var(--sand); font-size: 13px; padding: 12px; vertical-align: top; }
.co-table .nm { color: var(--wood-dark); font-weight: 700; }
.co-table .artln { color: var(--text-muted); font-size: 11px; margin-top: 3px; }
.co-table b { white-space: nowrap; }

.co-info .r {
  align-items: baseline;
  display: flex;
  font-size: 13px;
  gap: 10px;
  justify-content: space-between;
  padding: 5px 0;
}
.co-info .r b { color: var(--text-muted); font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.co-info .r span { color: var(--text); font-weight: 600; text-align: right; }

.os-cta { margin: 24px 0 8px; }
.os-cta h3 { font-size: clamp(22px,3vw,32px); }

@media (max-width: 767px) {
  .co-table thead { display: none; }
  .co-table tr { border: 1px solid var(--sand); border-radius: var(--radius); display: block; margin-bottom: 10px; }
  .co-table td { border: 0; display: flex; justify-content: space-between; gap: 12px; padding: 8px 12px; }
  .co-table td::before { color: var(--text-muted); content: attr(data-label); font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
  .co-info .r span { text-align: left; }
}


/* === Мелкие правки (29.09): адаптив корзины === */
.cart-sum-line { align-items: baseline; display: inline-flex; gap: 8px; }
@media (max-width: 767px) {
  .cart-table td { flex-wrap: wrap; }
  .cart-table td > .cart-sum-line { flex-wrap: wrap; justify-content: flex-end; margin-left: auto; max-width: 62%; text-align: right; }
  .cart-table td > .cart-sum-benefit { flex-basis: 100%; order: 3; text-align: right; }
}

/* === ЛК и деталка заказа (account.html + order-detail.html, перенос 29.09) === */
/* -- из account.html -- */
.account-layout {
      align-items: start;
      display: grid;
      gap: 22px;
      grid-template-columns: 240px minmax(0, 1fr);
      margin-top: 24px;
    }

    .account-nav {
      background: var(--white);
      border: 1px solid var(--sand);
      border-radius: var(--radius);
      display: flex;
      flex-direction: column;
      gap: 4px;
      padding: 10px;
      position: sticky;
      top: calc(var(--header-h) + 18px);
    }

    .account-nav a {
      border-radius: var(--radius-sm);
      color: var(--text-secondary);
      font-size: 13px;
      font-weight: 600;
      padding: 12px;
      transition: var(--transition);
    }

    .account-nav a:hover {
      background: var(--cream);
      color: var(--wood-dark);
    }

    .account-nav a.active {
      background: var(--wood-dark);
      color: var(--white);
    }

    .section-title.account-title {
      margin-top: 10px;
    }

    .account-profile {
      max-width: 760px;
    }

    .account-form {
      margin-top: 0;
      position: static;
    }

    .account-form .row2 {
      display: grid;
      gap: 0 14px;
      grid-template-columns: 1fr 1fr;
    }

    .account-form .btn {
      margin-top: 14px;
    }

    .account-password {
      border-top: 1px solid var(--sand);
      margin-top: 22px;
      padding-top: 18px;
    }

    .account-password summary {
      color: var(--wood-dark);
      cursor: pointer;
      font-size: 14px;
      font-weight: 700;
    }

    .account-password .row2 {
      margin-top: 4px;
    }

    .account-orders {
      overflow-x: auto;
    }

    .account-table {
      border-collapse: collapse;
      min-width: 680px;
      width: 100%;
    }

    .account-table th {
      background: var(--cream);
      color: var(--text-muted);
      font-size: 10px;
      letter-spacing: .08em;
      padding: 14px 16px;
      text-align: left;
      text-transform: uppercase;
    }

    .account-table td {
      border-top: 1px solid var(--sand);
      color: var(--text-secondary);
      font-size: 13px;
      padding: 14px 16px;
    }

    .account-table td:first-child {
      color: var(--wood-dark);
      font-weight: 700;
      white-space: nowrap;
    }

    .account-table td:nth-child(4) {
      color: var(--wood-dark);
      font-weight: 700;
      white-space: nowrap;
    }

    .order-status {
      background: var(--green-pale);
      border-radius: var(--radius-pill);
      color: var(--green);
      display: inline-flex;
      font-size: 11px;
      font-weight: 700;
      padding: 6px 10px;
      white-space: nowrap;
    }

    .order-status.green {
      background: #E8F5E9;
      color: #1B7A3D;
    }

    .order-status.neutral {
      background: var(--cream-dark);
      color: var(--text-secondary);
    }

    .order-sub {
      color: var(--text-muted);
      font-size: 11px;
      line-height: 1.4;
      margin-top: 4px;
      white-space: normal;
    }

    .account-orders .btn-sm {
      white-space: nowrap;
    }

    .account-note {
      color: var(--text-muted);
      font-size: 12px;
      margin-top: 12px;
    }

    @media (max-width: 767px) {
      .account-layout {
        display: block;
      }

      .account-nav {
        flex-direction: row;
        flex-wrap: wrap;
        margin-bottom: 22px;
        position: static;
      }

      .account-nav a {
        flex: 1 1 auto;
        text-align: center;
      }

      .account-form .row2 {
        grid-template-columns: 1fr;
      }

      .account-orders {
        background: var(--white);
        border: 1px solid var(--sand);
        border-radius: var(--radius);
        overflow: visible;
      }

      .account-table,
      .account-table tbody,
      .account-table tr,
      .account-table td {
        display: block;
      }

      .account-table {
        min-width: 0;
      }

      .account-table thead {
        display: none;
      }

      .account-table tr {
        border-bottom: 1px solid var(--sand);
        padding: 12px 14px;
      }

      .account-table tr:last-child {
        border-bottom: 0;
      }

      .account-table td {
        align-items: center;
        border: 0;
        display: flex;
        justify-content: space-between;
        gap: 14px;
        padding: 6px 0 6px 110px;
        position: relative;
        text-align: right;
      }

      .account-table td::before {
        color: var(--text-muted);
        content: attr(data-label);
        font-size: 10px;
        font-weight: 700;
        left: 0;
        letter-spacing: .08em;
        position: absolute;
        text-align: left;
        text-transform: uppercase;
      }
    }
/* -- из order-detail.html -- */
/* Раскладка: контент + сайдбар оплаты */
      .od-layout {
        align-items: start;
        display: grid;
        gap: 22px;
        grid-template-columns: minmax(0, 1fr) 340px;
        margin-top: 24px;
      }
      .od-sec {
        background: var(--white);
        border: 1px solid var(--sand);
        border-radius: var(--radius);
        margin-bottom: 16px;
        padding: 22px;
      }
      .od-sec > h2 {
        font-size: 21px;
        margin: 0 0 14px;
      }
      .od-note {
        color: var(--text-muted);
        font-size: 12px;
        line-height: 1.55;
        margin-top: 10px;
      }

      /* Статусная цепочка */
      .od-steps {
        display: grid;
        gap: 10px;
        margin-top: 4px;
      }
      .od-step {
        align-items: flex-start;
        background: var(--cream);
        border: 1px solid var(--sand);
        border-radius: var(--radius);
        display: flex;
        gap: 12px;
        padding: 13px 14px;
      }
      .od-step i {
        align-items: center;
        background: var(--wood-dark);
        border-radius: 50%;
        color: #fff;
        display: flex;
        flex: none;
        font-size: 12px;
        font-style: normal;
        font-weight: 800;
        height: 28px;
        justify-content: center;
        width: 28px;
      }
      .od-step h3 {
        font-family: 'Inter', sans-serif;
        font-size: 13px;
        letter-spacing: -.01em;
        line-height: 1.3;
        margin: 0;
      }
      .od-step h3 .dt {
        color: var(--text-muted);
        font-size: 11px;
        font-weight: 600;
        margin-left: 6px;
        white-space: nowrap;
      }
      .od-step p {
        color: var(--text-muted);
        font-size: 12px;
        line-height: 1.5;
        margin: 3px 0 0;
      }
      .od-step.done i {
        background: var(--green);
      }
      .od-step.now {
        border-color: var(--green);
      }
      .od-step.now i {
        background: var(--green);
      }

      /* Таблица состава */
      .od-table-wrap {
        border: 1px solid var(--sand);
        border-radius: var(--radius);
        overflow-x: auto;
      }
      .od-table {
        border-collapse: collapse;
        width: 100%;
      }
      .od-table th {
        background: var(--cream);
        color: var(--text-muted);
        font-size: 10px;
        letter-spacing: .08em;
        padding: 12px 14px;
        text-align: left;
        text-transform: uppercase;
        white-space: nowrap;
      }
      .od-table td {
        border-top: 1px solid var(--sand);
        color: var(--text-secondary);
        font-size: 13px;
        padding: 12px 14px;
        vertical-align: middle;
      }
      .od-table td b {
        color: var(--wood-dark);
      }
      .od-table .nm {
        color: var(--wood-dark);
        display: block;
        font-size: 13px;
        font-weight: 700;
        line-height: 1.3;
      }
      .od-table .artln {
        color: var(--text-muted);
        font-size: 11px;
        margin-top: 2px;
      }

      /* Карточки «доставка / получатель» */
      .od-info {
        background: var(--white);
        border: 1px solid var(--sand);
        border-radius: var(--radius);
        padding: 20px;
      }
      .od-info h3 {
        font-size: 17px;
        margin: 0 0 10px;
      }
      .od-info .r {
        align-items: baseline;
        border-bottom: 1px solid var(--sand);
        display: flex;
        font-size: 13px;
        gap: 14px;
        justify-content: space-between;
        padding: 8px 0;
      }
      .od-info .r:last-child {
        border-bottom: 0;
      }
      .od-info .r b {
        color: var(--text-muted);
        font-weight: 500;
      }
      .od-info .r span {
        color: var(--text);
        font-weight: 700;
        text-align: right;
      }
      .od-info p {
        color: var(--text-secondary);
        font-size: 13px;
        margin: 0 0 6px;
      }

      /* Сайдбар оплаты */
      .od-side {
        background: var(--white);
        border: 1px solid var(--sand);
        border-radius: var(--radius);
        padding: 22px;
        position: sticky;
        top: calc(var(--header-h) + 18px);
      }
      .od-side .od-status-chip {
        background: #E8F5E9;
        border-radius: var(--radius-pill);
        color: #1B7A3D;
        display: inline-flex;
        font-size: 11px;
        font-weight: 700;
        padding: 6px 10px;
        white-space: nowrap;
      }
      .od-side > h3 {
        font-size: 22px;
        margin: 12px 0 0;
      }
      .od-side > p {
        color: var(--text-secondary);
        font-size: 13px;
        line-height: 1.55;
        margin: 8px 0 0;
      }
      .od-rows {
        margin-top: 14px;
      }
      .od-row {
        align-items: center;
        color: var(--text-secondary);
        display: flex;
        font-size: 13px;
        justify-content: space-between;
        padding: 5px 0;
      }
      .od-total {
        align-items: baseline;
        border-top: 1px solid var(--sand);
        color: var(--wood-dark);
        display: flex;
        font-size: 15px;
        font-weight: 700;
        justify-content: space-between;
        margin-top: 12px;
        padding-top: 14px;
      }
      .od-total strong {
        font-size: 25px;
        letter-spacing: -.04em;
      }
      .od-side .btn-block {
        margin-top: 16px;
      }
      .od-side-benefits {
        display: flex;
        flex-wrap: wrap;
        gap: 6px;
        margin-top: 14px;
      }
      .od-side-benefits span {
        background: var(--cream);
        border: 1px solid var(--sand);
        border-radius: var(--radius-pill);
        color: var(--text-secondary);
        font-size: 11px;
        font-weight: 600;
        padding: 7px 10px;
      }

      /* Блок «вопросы по заказу» */
      .od-help {
        background: var(--white);
        border: 1px solid var(--sand);
        border-radius: var(--radius);
        margin-top: 8px;
        padding: 22px;
      }
      .od-help h3 {
        font-size: 19px;
        margin: 0 0 8px;
      }
      .od-help p {
        color: var(--text-secondary);
        font-size: 13px;
        margin: 0;
      }
      .od-help .co-acts {
        display: flex;
        flex-wrap: wrap;
        gap: 10px;
        margin-top: 14px;
      }

      @media (max-width: 1023px) {
        .od-layout {
          grid-template-columns: minmax(0, 1fr) 290px;
        }
      }
      @media (max-width: 767px) {
        .od-layout {
          display: block;
        }
        .od-sec {
          margin-bottom: 12px;
          padding: 16px;
        }
        .od-side {
          margin-top: 18px;
          position: static;
        }
        .od-help .co-acts .btn {
          flex: 1 1 100%;
        }
        .od-table-wrap {
          border: 0;
          overflow: visible;
        }
        .od-table,
        .od-table tbody,
        .od-table tr,
        .od-table td {
          display: block;
        }
        .od-table {
          min-width: 0;
        }
        .od-table thead {
          display: none;
        }
        .od-table tr {
          background: var(--white);
          border: 1px solid var(--sand);
          border-radius: var(--radius);
          margin-bottom: 12px;
          padding: 12px 14px;
        }
        .od-table td {
          align-items: center;
          border: 0;
          display: flex;
          justify-content: space-between;
          gap: 12px;
          padding: 6px 0 6px 110px;
          position: relative;
          text-align: right;
        }
        .od-table td::before {
          color: var(--text-muted);
          content: attr(data-label);
          font-size: 10px;
          font-weight: 700;
          left: 0;
          letter-spacing: .08em;
          position: absolute;
          text-align: left;
          text-transform: uppercase;
        }
      }

/* -- нейтральный вариант чипа статуса (дизайн давал только зелёный) -- */
.od-side .od-status-chip.neutral { background: var(--cream-dark); color: var(--text-secondary); }

/* === ЛК: мобильная вёрстка аккаунта — чип статуса переносится, ячейки не переполняются === */
@media (max-width: 767px) {
  .account-table td { flex-wrap: wrap; min-width: 0; }
  .account-table .order-status { text-align: right; white-space: normal; }
  .account-table td .order-sub { flex-basis: 100%; }
}

/* ===== Каталог: фильтр, чипы коллекций, SEO (30.09) ===== */
.cp-f-price { align-items: center; display: flex; gap: 8px; margin-bottom: 2px; }
.cp-f-price .inp { flex: 1; min-width: 0; padding: 8px 10px; }
.cp-f-price > span { color: var(--text-muted); }
.filters-inner .f-h { align-items: center; display: flex; justify-content: space-between; margin-bottom: 4px; }
.filters-inner .f-h h3 { font-size: 16px; margin: 0; }
.filters-inner .f-x { display: none; }
.filters .f-c.disabled { opacity: .45; }
.filters .f-c.disabled span { text-decoration: line-through; }
.cp-f-opt[hidden] { display: none; }
.cp-col-chips { background: var(--white); border: 1px solid var(--sand); border-radius: var(--radius); margin-bottom: 20px; padding: 14px 16px; }
.cp-col-chips-h { color: var(--wood-dark); font-size: 15px; font-weight: 700; margin-bottom: 10px; }
.cp-col-chips-h span { color: var(--text-muted); font-size: 13px; font-weight: 400; }
.chip.cur { background: var(--wood-dark); border-color: var(--wood-dark); color: #fff; }
.chip.cur span { color: rgba(255,255,255,.75) !important; }
.cp-cat-seo { margin-top: 32px; }
.cp-cat-seo h3 { font-size: 18px; margin-bottom: 12px; }
.cp-cat-seo-t { color: var(--text-secondary); font-size: 14px; line-height: 1.65; }
@media (max-width: 767px) {
  .filters-inner .f-x { display: flex; }
  .cp-col-chips { padding: 12px; }
}

/* cp-auth-box — карточка входа/форм ЛК (30.09: нельзя .cart-empty — базовое
   правило корзины прячет блок до состояния «пусто») */
.cp-auth-box { padding: 24px; background: var(--bg-card, #fff); border: 1px solid var(--border, #e5e5e5); border-radius: 12px; }
.cp-auth-box h2 { margin: 0 0 10px; }
.cp-auth-box p { color: var(--text-secondary); margin-bottom: 20px; }
