body {
  margin: 0;
  background: #fff;
  font-family: Arial, Helvetica, sans-serif;
}
.stribog-order-desk,
.stribog-order-desk * {
  box-sizing: border-box;
}

.stribog-order-desk {
  width: 100%;
  max-width: 1180px;
  margin: 0 auto;
  padding: 28px 20px 55px;
  color: #111;
}


/* =========================================================
   ЗАГОЛОВОК
========================================================= */

.sod-head {
  margin-bottom: 24px;
}

.sod-title {
  margin: 0 0 9px;
  font-size: 34px;
  line-height: 1.15;
  font-weight: 700;
  color: #111;
}

.sod-subtitle {
  max-width: 760px;
  margin: 0;
  color: #777;
  font-size: 15px;
  line-height: 1.6;
}


/* =========================================================
   ОСНОВНАЯ СЕТКА
========================================================= */

.sod-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 285px;
  gap: 24px;
  align-items: stretch;
}


/* =========================================================
   ЧАТ
========================================================= */

.sod-chat {
  min-width: 0;
  overflow: hidden;

  border: 1px solid #e3e3e3;
  border-radius: 13px;

  background: #fff;

  box-shadow: 0 5px 20px rgba(0, 0, 0, .035);
}

.sod-chat-top {
  min-height: 58px;

  display: flex;
  align-items: center;

  gap: 12px;

  padding: 16px 19px;

  border-bottom: 1px solid #ededed;

  background: #fff;
}

.sod-chat-name {
  flex: 1;

  min-width: 0;

  font-size: 15px;
  font-weight: 600;

  color: #111;
}

.sod-chat-actions {
  display: flex;
  align-items: center;

  gap: 10px;

  flex: 0 0 auto;
}

.sod-status {
  display: flex;
  align-items: center;

  gap: 7px;

  font-size: 12px;

  color: #888;
}

.sod-status-dot {
  flex: 0 0 7px;

  width: 7px;
  height: 7px;

  border-radius: 50%;

  background: #65a061;
}


/* =========================================================
   КНОПКИ В ШАПКЕ ЧАТА
========================================================= */

.sod-mobile-close {
  display: none;
}

.sod-expand {
  width: 34px;
  height: 34px;

  display: flex;
  align-items: center;
  justify-content: center;

  padding: 0;

  border: 1px solid #e0e0e0;
  border-radius: 8px;

  background: #fff;

  color: #333;

  font-size: 17px;
  line-height: 1;

  cursor: pointer;

  touch-action: manipulation;

  transition: .15s ease;
}

.sod-expand:hover {
  border-color: #bbb;
  background: #f7f7f7;
}


/* =========================================================
   СООБЩЕНИЯ
========================================================= */

.sod-messages {
  height: 440px;

  overflow-x: hidden;
  overflow-y: auto;

  padding: 22px 20px;

  background: #fbfbfb;

  scroll-behavior: smooth;

  -webkit-overflow-scrolling: touch;
}

.sod-message {
  display: flex;

  width: 100%;

  margin-bottom: 18px;
}

.sod-message--assistant {
  align-items: flex-start;
  justify-content: flex-start;

  gap: 10px;
}

.sod-message--user {
  justify-content: flex-end;
}

.sod-message-content {
  min-width: 0;
  max-width: 78%;
}


/* =========================================================
   АВАТАР
========================================================= */

.sod-avatar {
  flex: 0 0 40px !important;

  width: 40px !important;
  height: 40px !important;

  min-width: 40px;
  min-height: 40px;

  overflow: hidden;

  border-radius: 50%;

  background: #fff;
}

.sod-avatar img {
  display: block !important;

  width: 40px !important;
  height: 40px !important;

  min-width: 40px;
  max-width: 40px !important;

  min-height: 40px;
  max-height: 40px !important;

  object-fit: cover;
  object-position: center;
}


/* =========================================================
   ПУЗЫРИ
========================================================= */

.sod-bubble {
  position: relative;

  padding: 12px 14px 23px;

  border-radius: 13px;

  font-size: 14px;
  line-height: 1.5;
}

/*
  pre-wrap применяем ТОЛЬКО к тексту, который вставляет JS
  (сообщения пользователя и ассистента), а не ко всему .sod-bubble —
  иначе ловим лишние пробелы/переносы из отступов Liquid-вёрстки
  в статичном приветственном сообщении.
*/
.sod-msg-text {
  white-space: pre-wrap;
  word-break: break-word;
}

.sod-message--assistant .sod-bubble {
  border: 1px solid #e8e8e8;
  border-top-left-radius: 4px;

  background: #f7f7f7;

  color: #222;
}

.sod-message--user .sod-bubble {
  width: auto;
  max-width: 62%;

  border-top-right-radius: 4px;

  background: #e7f1ff;

  color: #222;
}

.sod-time {
  position: absolute;

  right: 10px;
  bottom: 6px;

  font-size: 9px;
  line-height: 1;

  color: #999;
}


/* =========================================================
   БЫСТРЫЕ КНОПКИ
========================================================= */

.sod-quick {
  display: flex;
  flex-wrap: wrap;

  gap: 7px;

  margin-top: 8px;
}

.sod-chip {
  min-height: 36px;

  padding: 8px 12px;

  border: 1px solid #dcdcdc;
  border-radius: 9px;

  background: #fff;

  color: #333;

  font: inherit;
  font-size: 12px;
  line-height: 1.2;

  cursor: pointer;

  touch-action: manipulation;

  transition: .15s ease;
}

.sod-chip:hover {
  border-color: #aaa;
  background: #fafafa;
}


/* =========================================================
   ТОВАРНЫЕ КАРТОЧКИ (matches)
========================================================= */

.sod-ai-products {
  margin-top: 12px;
  white-space: normal;
}

.sod-ai-product {
  padding: 10px 0;
  border-top: 1px solid #ececec;
}

.sod-ai-product:first-child {
  border-top: 0;
}


/* =========================================================
   СПИСОК ПОЗИЦИЙ ЗАЯВКИ (order_items)
========================================================= */

.sod-order-list {
  margin-top: 12px;
  white-space: normal;

  border-top: 1px solid #ececec;
}

.sod-order-item {
  display: flex;
  gap: 10px;

  padding: 10px 0;

  border-bottom: 1px solid #ececec;
}

.sod-order-item:last-child {
  border-bottom: 0;
}

.sod-order-item-num {
  flex: 0 0 20px;

  font-size: 12px;
  font-weight: 600;

  color: #999;
}

.sod-order-item-body {
  min-width: 0;
  flex: 1 1 auto;
}

.sod-order-item-name {
  font-size: 13.5px;
  font-weight: 600;
  line-height: 1.4;

  color: #222;
}

.sod-order-item-qty {
  font-size: 12.5px;
  color: #777;
}

.sod-order-item-meta {
  margin-top: 4px;

  display: flex;
  flex-wrap: wrap;
  align-items: center;

  gap: 8px;

  font-size: 12.5px;
}

.sod-order-item-status {
  display: inline-block;

  padding: 2px 8px;

  border-radius: 20px;

  font-size: 11px;
  font-weight: 600;
  line-height: 1.6;
}

.sod-order-item-status--catalog {
  background: #e6f4ea;
  color: #1e7a34;
}

.sod-order-item-status--under_order {
  background: #fdf1e0;
  color: #96660a;
}

.sod-order-item-price {
  color: #333;
}

.sod-order-item-link {
  color: #2560c9;
  text-decoration: underline;
}

.sod-order-total {
  margin-top: 10px;
  padding-top: 10px;

  border-top: 1px solid #ececec;

  font-size: 12.5px;
  color: #666;
}

.sod-order-actions {
  display: flex;
  gap: 8px;

  margin-top: 12px;
}

.sod-order-actions .sod-chip {
  border-color: #171717;
  background: #171717;
  color: #fff;
}

.sod-order-actions .sod-chip:hover {
  background: #333;
}

.sod-order-actions .sod-chip--ghost {
  border-color: #dcdcdc;
  background: #fff;
  color: #333;
}

.sod-order-actions .sod-chip--ghost:hover {
  background: #fafafa;
}


/* =========================================================
   ПРЕВЬЮ ПРИКРЕПЛЁННЫХ ИЗОБРАЖЕНИЙ
========================================================= */

.sod-preview-strip {
  display: none;

  flex-wrap: wrap;

  gap: 8px;

  padding: 10px 13px 0;

  background: #fff;
}

.sod-preview-strip.is-visible {
  display: flex;
}

.sod-preview-item {
  position: relative;

  flex: 0 0 auto;

  width: 56px;
  height: 56px;

  border: 1px solid #ddd;
  border-radius: 8px;

  overflow: hidden;

  background: #f3f3f3;
}

.sod-preview-item img {
  display: block;

  width: 100%;
  height: 100%;

  object-fit: cover;
}

.sod-preview-remove {
  position: absolute;

  top: -6px;
  right: -6px;

  width: 18px;
  height: 18px;

  padding: 0;

  border: 0;
  border-radius: 50%;

  background: #171717;

  color: #fff;

  font-size: 11px;
  line-height: 18px;

  text-align: center;

  cursor: pointer;

  touch-action: manipulation;
}


/* =========================================================
   НИЖНЯЯ СТРОКА ЧАТА
========================================================= */

.sod-input-wrap {
  display: flex;
  align-items: center;

  gap: 8px;

  padding: 12px 13px;

  border-top: 1px solid #ededed;

  background: #fff;
}

.sod-attach {
  flex: 0 0 42px;

  width: 42px;
  height: 44px;

  padding: 0;

  border: 1px solid #ddd;
  border-radius: 8px;

  background: #fff;

  color: #333;

  font-size: 21px;
  line-height: 42px;

  text-align: center;

  cursor: pointer;

  touch-action: manipulation;
}

.sod-input {
  display: block;

  width: 100%;
  min-width: 0;

  min-height: 44px;
  max-height: 120px;

  resize: none;

  padding: 11px 13px;

  border: 1px solid #ddd;
  border-radius: 8px;

  outline: none;

  background: #fff;

  color: #111;

  font: inherit;
  font-size: 14px;
  line-height: 1.45;
}

.sod-input:focus {
  border-color: #999;
}

.sod-input::placeholder {
  color: #aaa;
}

.sod-send {
  flex: 0 0 50px;

  width: 50px;
  height: 44px;

  padding: 0;

  border: 0;
  border-radius: 8px;

  background: #171717;

  color: #fff;

  font-size: 21px;
  line-height: 44px;

  text-align: center;

  cursor: pointer;

  touch-action: manipulation;
}

.sod-send:hover {
  background: #333;
}


/* =========================================================
   ПРАВАЯ КОЛОНКА
========================================================= */

.sod-side {
  display: block !important;

  padding: 21px;

  border: 1px solid #e3e3e3;
  border-radius: 13px;

  background: #fff;

  box-shadow: 0 5px 20px rgba(0, 0, 0, .025);
}

.sod-mobile-order-hint {
  display: none;
}

@media (max-width: 900px) {
  .sod-mobile-order-hint {
    display: block;
    margin: 10px 0 2px;
    text-align: center;
    color: #999;
    font-size: 11px;
  }
}

.sod-side-title {
  margin: 0 0 23px;

  font-size: 17px;
  line-height: 1.25;
  font-weight: 600;

  color: #111;
}

.sod-step {
  display: flex;

  gap: 12px;

  padding-bottom: 19px;
  margin-bottom: 19px;

  border-bottom: 1px solid #eee;
}

.sod-step-number {
  flex: 0 0 30px;

  width: 30px;
  height: 30px;

  display: flex;
  align-items: center;
  justify-content: center;

  border-radius: 50%;

  background: #f3f3f3;

  color: #222;

  font-size: 12px;
  font-weight: 600;
}

.sod-step-text {
  min-width: 0;
}

.sod-step-text strong {
  display: block;

  margin-bottom: 5px;

  color: #222;

  font-size: 13px;
  line-height: 1.35;
}

.sod-step-text span {
  display: block;

  color: #777;

  font-size: 12px;
  line-height: 1.5;
}

.sod-side-note {
  display: flex;

  gap: 10px;

  margin-top: 4px;
  padding: 14px;

  border-radius: 9px;

  background: #f7f7f7;
}

.sod-side-note-icon {
  flex: 0 0 28px;

  width: 28px;
  height: 28px;

  display: flex;
  align-items: center;
  justify-content: center;

  border: 1px solid #ccc;
  border-radius: 50%;

  font-size: 12px;
}

.sod-side-note strong {
  display: block;

  margin-bottom: 4px;

  font-size: 12px;
  line-height: 1.3;
}

.sod-side-note span {
  display: block;

  color: #777;

  font-size: 11px;
  line-height: 1.4;
}


/* =========================================================
   ПРЕИМУЩЕСТВА
========================================================= */

.sod-benefits {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));

  gap: 20px;

  margin-top: 24px;
}

.sod-benefit {
  min-width: 0;

  display: flex;
  align-items: center;

  gap: 10px;
}

.sod-benefit-icon {
  flex: 0 0 34px;

  width: 34px;
  height: 34px;

  display: flex;
  align-items: center;
  justify-content: center;

  border: 1px solid #e0e0e0;
  border-radius: 50%;

  color: #555;

  font-size: 10px;
}

.sod-benefit strong {
  display: block;

  margin-bottom: 2px;

  color: #333;

  font-size: 12px;
  line-height: 1.3;
}

.sod-benefit span {
  display: block;

  color: #999;

  font-size: 11px;
  line-height: 1.3;
}


/* =========================================================
   БЛОКИРОВКА СТРАНИЦЫ ПОД FULLSCREEN / EXPANDED
========================================================= */

html.sod-page-locked,
body.sod-page-locked {
  overflow: hidden !important;
}


/* =========================================================
   DESKTOP — РАЗВЁРНУТЫЙ ЧАТ
========================================================= */

body.sod-desktop-expanded .sod-chat {
  position: fixed !important;

  z-index: 999999;

  top: 18px !important;
  right: 18px !important;
  bottom: 18px !important;
  left: 18px !important;

  width: auto !important;
  height: auto !important;

  max-width: none !important;
  max-height: none !important;

  display: flex;
  flex-direction: column;

  margin: 0 !important;

  border-radius: 14px;

  background: #fff;

  box-shadow: 0 16px 60px rgba(0, 0, 0, .16);
}

body.sod-desktop-expanded .sod-chat-top {
  flex: 0 0 auto;
}

body.sod-desktop-expanded .sod-messages {
  flex: 1 1 auto;

  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;

  overflow-y: auto !important;
}

body.sod-desktop-expanded .sod-input-wrap {
  flex: 0 0 auto;
}


/* =========================================================
   ПЛАНШЕТ / MOBILE

   ВАЖНО: на мобильном ДЕФОЛТНОЕ состояние чата — это
   fullscreen. Так убирается "мигание" обычной страницы
   при загрузке и при повторном открытии: браузер сразу,
   без ожидания JS, рисует чат в fullscreen-виде.

   "Свёрнутая" карточка чата (видна страница целиком,
   чат — обычный блок в потоке) — это ИСКЛЮЧЕНИЕ,
   включается явным классом body.sod-mobile-collapsed,
   который ставит JS ПОСЛЕ закрытия чата пользователем.
========================================================= */

@media (max-width: 900px) {

  .stribog-order-desk {
    padding: 22px 15px 40px;
  }

  .sod-layout {
    grid-template-columns: minmax(0, 1fr);
  }

  .sod-side {
    display: none;
  }

  .sod-benefits {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .sod-expand {
    display: none;
  }


  /* =======================================================
     FULLSCREEN — ДЕФОЛТ на мобильном/планшете
  ======================================================= */

  .sod-chat {
    position: fixed !important;

    z-index: 999999;

    top: var(--sod-vv-top, 0px) !important;
    left: var(--sod-vv-left, 0px) !important;

    width: var(--sod-vv-width, 100vw) !important;
    height: var(--sod-vv-height, 100dvh) !important;

    max-width: none !important;
    max-height: none !important;

    display: flex;
    flex-direction: column;

    margin: 0 !important;
    padding: 0 !important;

    border: 0 !important;
    border-radius: 0 !important;

    background: #fff;

    box-shadow: none !important;

    overflow: hidden !important;
  }


  .sod-chat-top {
    flex: 0 0 auto;

    min-height: 58px;

    padding:
      max(10px, env(safe-area-inset-top))
      12px
      10px;

    border-bottom: 1px solid #e9e9e9;

    background: #fff;
  }


  .sod-mobile-close {
    display: flex;

    flex: 0 0 40px;

    width: 40px;
    height: 40px;

    align-items: center;
    justify-content: center;

    padding: 0;

    border: 0;
    border-radius: 8px;

    background: transparent;

    color: #111;

    font-size: 30px;
    font-weight: 300;
    line-height: 1;

    cursor: pointer;

    touch-action: manipulation;
  }

  .sod-mobile-close:active {
    background: #f3f3f3;
  }

  .sod-chat-name {
    font-size: 15px;
  }


  /*
    В fullscreen СКРОЛЛИТСЯ ТОЛЬКО область сообщений.
  */
  .sod-messages {
    flex: 1 1 auto;

    width: 100%;

    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;

    padding: 16px 11px 20px;

    overflow-x: hidden !important;
    overflow-y: auto !important;

    background: #fbfbfb;

    -webkit-overflow-scrolling: touch;

    overscroll-behavior-y: contain;

    touch-action: pan-y;
  }


  /*
    Поле ввода — отдельный нижний ряд.
    Оно НЕ скроллится вместе с сообщениями.
  */
  .sod-input-wrap {
    flex: 0 0 auto;

    width: 100%;
    min-width: 0;

    gap: 7px;

    padding:
      8px
      8px
      max(8px, env(safe-area-inset-bottom));

    border-top: 1px solid #e8e8e8;

    background: #fff;
  }


  .sod-input {
    min-width: 0;

    height: 46px;
    min-height: 46px;
    max-height: 110px;

    padding: 11px 12px;

    font-size: 16px;
    line-height: 22px;

    overflow-y: auto;

    border-radius: 10px;

    -webkit-appearance: none;
    appearance: none;
  }

  .sod-input::placeholder {
    font-size: 16px;
    line-height: 22px;
  }


  .sod-attach {
    flex: 0 0 44px;

    width: 44px;
    height: 46px;

    line-height: 44px;

    border-radius: 10px;
  }

  .sod-send {
    flex: 0 0 48px;

    width: 48px;
    height: 46px;

    line-height: 46px;

    border-radius: 10px;
  }


  .sod-avatar {
    flex-basis: 34px !important;

    width: 34px !important;
    height: 34px !important;

    min-width: 34px;
    min-height: 34px;
  }

  .sod-avatar img {
    width: 34px !important;
    height: 34px !important;

    min-width: 34px;
    max-width: 34px !important;

    min-height: 34px;
    max-height: 34px !important;
  }

  .sod-message-content {
    max-width: calc(100% - 42px);
  }

  .sod-message--user .sod-bubble {
    max-width: 88%;
  }

  .sod-bubble {
    font-size: 14px;
    line-height: 1.45;
  }

  .sod-chip {
    min-height: 38px;

    padding: 9px 11px;

    font-size: 13px;
  }


  /* =======================================================
     СВЁРНУТОЕ состояние — ИСКЛЮЧЕНИЕ.
     Включается через body.sod-mobile-collapsed
     после того как пользователь нажал ×.
  ======================================================= */

  body.sod-mobile-collapsed .sod-chat {
    position: static !important;

    z-index: auto;

    top: auto !important;
    left: auto !important;

    width: 100% !important;
    height: 440px !important;

    max-width: none !important;
    max-height: none !important;

    margin: 0 !important;
    padding: 0 !important;

    border: 1px solid #e3e3e3 !important;
    border-radius: 13px !important;

    box-shadow: 0 5px 20px rgba(0, 0, 0, .035) !important;

    overflow: hidden !important;
  }

  body.sod-mobile-collapsed .sod-chat-top {
    padding: 16px 19px;

    border-bottom: 1px solid #ededed;
  }

  body.sod-mobile-collapsed .sod-mobile-close {
    display: none;
  }

  body.sod-mobile-collapsed .sod-messages {
    height: 100% !important;

    padding: 22px 20px;
  }

  body.sod-mobile-collapsed .sod-input-wrap {
    padding: 12px 13px;
  }

}


/* =========================================================
   ТЕЛЕФОН — СВЁРНУТАЯ КАРТОЧКА НА УЗКИХ ЭКРАНАХ

   Действует только вместе с body.sod-mobile-collapsed
   (закрытый fullscreen). Пока fullscreen открыт,
   правила из блока выше (900px) его перекрывают.
========================================================= */

@media (max-width: 600px) {

  .stribog-order-desk {
    padding: 15px 10px 25px;
  }

  .sod-head {
    margin-bottom: 16px;
  }

  .sod-title {
    margin-bottom: 7px;

    font-size: 25px;
  }

  .sod-subtitle {
    font-size: 13px;
    line-height: 1.5;
  }

  .sod-subtitle br {
    display: none;
  }

  body.sod-mobile-collapsed .sod-chat {
    border-radius: 10px !important;
  }

  body.sod-mobile-collapsed .sod-chat-top {
    min-height: 52px;

    padding: 13px;
  }

  body.sod-mobile-collapsed .sod-chat-name {
    font-size: 14px;
  }

  body.sod-mobile-collapsed .sod-status {
    font-size: 11px;
  }

  body.sod-mobile-collapsed .sod-messages {
    height: 430px !important;

    min-height: 0;
    max-height: 430px;

    overflow-y: auto;

    padding: 15px 10px;
  }

  body.sod-mobile-collapsed .sod-message--assistant {
    gap: 10px;
    align-items: flex-start;
  }

  body.sod-mobile-collapsed .sod-avatar {
    flex: 0 0 32px !important;

    width: 32px !important;
    height: 32px !important;

    min-width: 32px;
    min-height: 32px;

    margin-top: 1px;
  }

  body.sod-mobile-collapsed .sod-avatar img {
    width: 32px !important;
    height: 32px !important;

    min-width: 32px;
    max-width: 32px !important;

    min-height: 32px;
    max-height: 32px !important;
  }

  body.sod-mobile-collapsed .sod-message-content {
    max-width: calc(100% - 42px);
  }

  body.sod-mobile-collapsed .sod-bubble {
    padding: 10px 11px 21px;

    font-size: 13px;
    line-height: 1.45;
  }

  body.sod-mobile-collapsed .sod-message--user .sod-bubble {
    max-width: 88%;
  }

  body.sod-mobile-collapsed .sod-quick {
    gap: 6px;
  }

  body.sod-mobile-collapsed .sod-chip {
    min-height: 34px;

    padding: 8px 9px;

    font-size: 11px;
  }

  body.sod-mobile-collapsed .sod-input-wrap {
    gap: 6px;

    padding: 8px;
  }

  body.sod-mobile-collapsed .sod-attach {
    flex-basis: 38px;

    width: 38px;
    height: 42px;

    line-height: 40px;

    font-size: 19px;
  }

  body.sod-mobile-collapsed .sod-input {
    min-height: 42px;

    padding: 10px;

    font-size: 16px;
  }

  body.sod-mobile-collapsed .sod-send {
    flex-basis: 44px;

    width: 44px;
    height: 42px;

    line-height: 42px;

    font-size: 19px;
  }

  body.sod-mobile-collapsed .sod-benefits {
    display: none;
  }

}

/* =========================================================
   V10 — ИНДИКАТОР ПЕЧАТАНИЯ
========================================================= */

.sod-typing-bubble {
  min-width: 62px;
  padding: 14px 16px !important;
}

.sod-typing-dots {
  display: flex;
  align-items: center;
  gap: 5px;
  height: 12px;
}

.sod-typing-dots span {
  width: 6px;
  height: 6px;
  display: block;
  border-radius: 50%;
  background: #999;
  animation: sodTypingDot 1.15s infinite ease-in-out;
}

.sod-typing-dots span:nth-child(2) {
  animation-delay: .15s;
}

.sod-typing-dots span:nth-child(3) {
  animation-delay: .30s;
}

@keyframes sodTypingDot {
  0%, 60%, 100% {
    transform: translateY(0);
    opacity: .42;
  }

  30% {
    transform: translateY(-4px);
    opacity: 1;
  }
}


/* =========================================================
   V10 — КНОПКА «ДОБАВИТЬ В ЗАКАЗ»
========================================================= */

.sod-product-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 9px;
  margin-top: 8px;
}

.sod-add-order {
  min-height: 34px;
  padding: 7px 11px;
  border: 1px solid #171717;
  border-radius: 8px;
  background: #171717;
  color: #fff;
  font: inherit;
  font-size: 12px;
  line-height: 1.2;
  cursor: pointer;
  touch-action: manipulation;
  transition: .15s ease;
}

.sod-add-order:hover {
  background: #333;
}

.sod-add-order:disabled {
  opacity: .5;
  cursor: default;
}

@media (max-width: 600px) {
  .sod-add-order {
    min-height: 38px;
    padding: 9px 12px;
    font-size: 13px;
  }
}


/* =========================================================
   СОГЛАСИЕ НА ОБРАБОТКУ ПЕРСОНАЛЬНЫХ ДАННЫХ
========================================================= */

.sod-consent {
  margin-top: 14px;
  padding: 15px;
  border: 1px solid #dcdcdc;
  border-radius: 11px;
  background: #fff;
  white-space: normal;
}

.sod-consent-title {
  margin-bottom: 6px;
  color: #171717;
  font-size: 13.5px;
  font-weight: 700;
  line-height: 1.35;
}

.sod-consent-text {
  margin-bottom: 12px;
  color: #666;
  font-size: 12.5px;
  line-height: 1.45;
}

.sod-consent-check {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  cursor: pointer;
  color: #222;
  font-size: 12.5px;
  line-height: 1.4;
}

.sod-consent-checkbox {
  flex: 0 0 auto;
  width: 17px;
  height: 17px;
  margin: 1px 0 0;
  accent-color: #171717;
  cursor: pointer;
}

.sod-consent-links {
  margin: 8px 0 12px 26px;
  color: #999;
  font-size: 10.5px;
  line-height: 1.4;
}

.sod-consent-links a {
  color: #666;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.sod-consent-submit {
  min-height: 38px;
  padding: 9px 15px;
  border: 0;
  border-radius: 8px;
  background: #171717;
  color: #fff;
  font: inherit;
  font-size: 12.5px;
  font-weight: 600;
  cursor: pointer;
  transition: .15s ease;
}

.sod-consent-submit:hover:not(:disabled) {
  background: #333;
}

.sod-consent-submit:disabled {
  opacity: .42;
  cursor: default;
}

@media (max-width: 900px) {
  .sod-consent {
    padding: 14px;
  }

  .sod-consent-title {
    font-size: 14px;
  }

  .sod-consent-text,
  .sod-consent-check {
    font-size: 13px;
  }

  .sod-consent-links {
    margin-left: 26px;
    font-size: 11px;
  }

  .sod-consent-submit {
    width: 100%;
    min-height: 42px;
    font-size: 13px;
  }
}


/* =========================================================
   V23 TEST — ФИРМЕННЫЙ ИНТЕРФЕЙС + РУЧНОЕ ОФОРМЛЕНИЕ
========================================================= */

.stribog-order-desk {
  --sod-red: #e3312a;
  --sod-red-dark: #c92721;
  --sod-black: #111111;
  --sod-gray: #747474;
  --sod-soft: #f6f6f6;
  --sod-line: #e6e6e6;
  max-width: 1260px;
  padding-top: 18px;
}

.sod-brand-hero {
  position: relative;
  min-height: 225px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 240px;
  align-items: center;
  overflow: hidden;
  margin-bottom: 16px;
  padding: 34px 36px;
  border: 1px solid var(--sod-line);
  border-radius: 18px;
  background: linear-gradient(115deg, #fff 0%, #fff 62%, #f1f1f1 100%);
}

.sod-brand-kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 13px;
  color: var(--sod-red);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.sod-brand-kicker::before {
  content: '';
  width: 28px;
  height: 3px;
  border-radius: 10px;
  background: var(--sod-red);
}

.sod-title {
  max-width: 700px;
  margin-bottom: 12px;
  font-size: clamp(38px, 5vw, 62px);
  line-height: .98;
  letter-spacing: -0.035em;
  font-weight: 850;
}

.sod-subtitle {
  max-width: 700px;
  color: #3d3d3d;
  font-size: 17px;
  line-height: 1.5;
}

.sod-subtitle strong { color: var(--sod-red); }

.sod-brand-art {
  position: absolute;
  right: 34px;
  top: 50%;
  transform: translateY(-50%);

  width: 176px;
  height: 176px;

  display: flex;
  align-items: center;
  justify-content: center;

  padding: 10px;
  border: 0;
  border-radius: 50%;

  background: #fff;

  box-shadow: none;
  overflow: hidden;
  pointer-events: none;
}

.sod-brand-art::after {
  content: none;
}

.sod-brand-art img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 20%;
  border-radius: 50%;
  filter: grayscale(1) contrast(1.02);
}

.sod-quick-launch {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 16px;
}

.sod-quick-card {
  min-height: 70px;
  display: flex;
  align-items: center;
  gap: 11px;
  padding: 13px 14px;
  border: 1px solid var(--sod-line);
  border-radius: 14px;
  background: #fff;
  color: #222;
  text-align: left;
  cursor: pointer;
  transition: .16s ease;
}

.sod-quick-card:hover {
  border-color: #cfcfcf;
  transform: translateY(-1px);
}

.sod-quick-icon {
  flex: 0 0 38px;
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #f2f2f2;
  color: var(--sod-red);
  font-size: 17px;
  font-weight: 800;
}

.sod-quick-card strong { display: block; font-size: 13px; line-height: 1.25; }
.sod-quick-card span { display: block; margin-top: 3px; color: #999; font-size: 10.5px; }

.sod-layout {
  grid-template-columns: minmax(0, 1fr) 330px;
  gap: 16px;
  align-items: start;
}

.sod-chat {
  border-radius: 16px;
  box-shadow: 0 12px 34px rgba(0,0,0,.045);
}

.sod-chat-top { min-height: 64px; padding: 12px 16px; }
.sod-chat-name { font-size: 15px; font-weight: 750; }
.sod-status-dot { background: #4ba35c; }

.sod-messages {
  height: 570px;
  padding: 20px 18px 26px;
  background: linear-gradient(180deg, #fbfbfb 0%, #f7f7f7 100%);
}

.sod-message--user .sod-bubble {
  background: #f1f2f4;
  border: 1px solid #e2e4e7;
  color: #222;
}

.sod-chip,
.sod-add-order,
.sod-consent-submit,
.sod-order-actions .sod-chip,
.sod-review-actions .sod-chip {
  border-radius: 9px;
}

.sod-order-actions .sod-chip,
.sod-review-actions .sod-chip,
.sod-consent-submit {
  border-color: var(--sod-red) !important;
  background: var(--sod-red) !important;
  color: #fff !important;
}

.sod-order-actions .sod-chip--ghost,
.sod-review-actions .sod-chip--ghost {
  border-color: #d8d8d8 !important;
  background: #fff !important;
  color: #333 !important;
}

.sod-send {
  background: var(--sod-red);
  border-radius: 10px;
}
.sod-send:hover { background: var(--sod-red-dark); }

/* Product results inside assistant message */
.sod-ai-products {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
  margin-top: 12px;
}

.sod-ai-product {
  min-width: 0;
  padding: 11px;
  border: 1px solid #e3e3e3 !important;
  border-radius: 12px;
  background: #fff;
}

.sod-ai-product:first-child { border-top: 1px solid #e3e3e3; }

.sod-ai-product-image {
  width: 100%;
  height: 112px;
  overflow: hidden;
  margin-bottom: 9px;
  border-radius: 9px;
  background: #f4f4f4;
}

.sod-ai-product-image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  mix-blend-mode: multiply;
}

.sod-product-actions { margin-top: 8px; }
.sod-product-actions .sod-order-item-link {
  display: inline-flex;
  min-height: 34px;
  align-items: center;
  padding: 7px 10px;
  border: 1px solid #d5d5d5;
  border-radius: 8px;
  color: #222;
  text-decoration: none;
  font-size: 11px;
  font-weight: 650;
}

/* READ-ONLY current request */
.sod-side {
  display: block;
  padding: 0;
  overflow: hidden;
  border-radius: 16px;
  box-shadow: 0 12px 34px rgba(0,0,0,.035);
}

.sod-current-order-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 17px 17px 14px;
  border-bottom: 1px solid #ededed;
}

.sod-current-order-head h2 { margin: 0; font-size: 17px; font-weight: 760; }
.sod-current-order-count {
  min-width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  padding: 0 8px;
  border-radius: 999px;
  background: #f1f1f1;
  font-size: 11px;
  font-weight: 750;
}

.sod-current-order-empty {
  padding: 28px 18px;
  color: #999;
  font-size: 12.5px;
  line-height: 1.5;
  text-align: center;
}

.sod-current-order-list { padding: 0 16px; }
.sod-current-order-item {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) auto;
  gap: 9px;
  align-items: center;
  padding: 12px 0;
  border-bottom: 1px solid #eee;
}

.sod-current-order-thumb {
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  overflow: hidden;
  border-radius: 9px;
  background: #f3f3f3;
  color: var(--sod-red);
  font-weight: 900;
}
.sod-current-order-thumb img { width: 100%; height: 100%; object-fit: contain; mix-blend-mode: multiply; }
.sod-current-order-name { font-size: 11.5px; font-weight: 700; line-height: 1.3; }
.sod-current-order-meta { margin-top: 4px; color: #969696; font-size: 10px; line-height: 1.25; }
.sod-current-order-price { font-size: 10.5px; font-weight: 700; white-space: nowrap; }

.sod-current-order-footer { padding: 15px 16px 16px; }
.sod-current-order-total {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 12px;
  font-size: 13px;
  font-weight: 700;
}
.sod-current-order-total strong { color: var(--sod-red); font-size: 16px; }
.sod-current-order-total-note { margin-top: -7px; margin-bottom: 12px; color: #aaa; font-size: 9px; }

.sod-checkout-button {
  width: 100%;
  min-height: 44px;
  border: 0;
  border-radius: 9px;
  background: var(--sod-red);
  color: #fff;
  font: inherit;
  font-size: 13px;
  font-weight: 750;
  cursor: pointer;
}
.sod-checkout-button:hover:not(:disabled) { background: var(--sod-red-dark); }
.sod-checkout-button:disabled { opacity: .35; cursor: default; }
.sod-current-order-help { margin: 10px 0 0; color: #999; font-size: 10px; line-height: 1.4; text-align: center; }

.sod-side-info {
  margin: 0 16px 16px;
  padding: 13px;
  border-radius: 10px;
  background: #f7f7f7;
  color: #777;
  font-size: 10.5px;
  line-height: 1.45;
}
.sod-side-info strong { display: block; margin-bottom: 4px; color: #222; font-size: 11px; }

.sod-benefits { margin-top: 16px; }
.sod-benefit-icon { border-color: #d9d9d9; color: var(--sod-red); font-weight: 700; }

@media (max-width: 900px) {
  .stribog-order-desk { padding: 12px 12px 34px; }

  .sod-brand-hero {
    min-height: 205px;
    grid-template-columns: 1fr;
    padding: 24px 18px;
  }
  .sod-title { max-width: 74%; font-size: 38px; }
  .sod-subtitle { max-width: 76%; font-size: 14px; line-height: 1.45; }
  .sod-brand-art { right: 14px; top: 50%; width: 132px; height: 132px; opacity: .96; }

  .sod-quick-launch { grid-template-columns: 1fr 1fr; gap: 8px; }
  .sod-quick-card { min-height: 64px; padding: 10px; }

  .sod-layout { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .sod-side { display: block !important; position: static; }

  /* По умолчанию мобильный чат — обычный большой блок страницы. */
  body.sod-mobile-collapsed .sod-chat {
    position: static !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    border: 1px solid #e3e3e3 !important;
    border-radius: 16px !important;
    overflow: hidden !important;
  }
  body.sod-mobile-collapsed .sod-chat-top { padding: 12px 14px; }
  body.sod-mobile-collapsed .sod-messages {
    height: 560px !important;
    min-height: 560px !important;
    padding: 15px 11px 20px !important;
  }
  body.sod-mobile-collapsed .sod-input-wrap { padding: 9px !important; }
  body.sod-mobile-collapsed .sod-mobile-close { display: none !important; }

  .sod-expand { display: flex !important; }
  .sod-messages { background: #fafafa; }

  .sod-ai-products {
    display: flex;
    gap: 8px;
    overflow-x: auto;
    padding-bottom: 5px;
    scroll-snap-type: x proximity;
  }
  .sod-ai-product {
    flex: 0 0 78%;
    scroll-snap-align: start;
  }
  .sod-ai-product-image { height: 130px; }

  .sod-benefits { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .sod-benefit { padding: 11px; border: 1px solid #ededed; border-radius: 12px; }
}

@media (max-width: 520px) {
  .sod-brand-hero { min-height: 190px; }
  .sod-title { font-size: 34px; }
  .sod-subtitle { max-width: 74%; font-size: 13px; }
  .sod-brand-art { right: 8px; width: 116px; height: 116px; }
  .sod-quick-card span { display: none; }
  .sod-message-content { max-width: calc(100% - 38px); }
  .sod-ai-product { flex-basis: 86%; }
  body.sod-mobile-collapsed .sod-messages { height: 58vh !important; min-height: 500px !important; }
  .sod-benefits { grid-template-columns: 1fr 1fr; }
}


/* =========================================================
   V23 TEST v3 — ручное управление составом + AI-синхронизация
========================================================= */

.sod-product-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  align-items: center;
}

.sod-product-add-button {
  min-height: 34px;
  padding: 7px 10px;
  border: 1px solid var(--sod-red);
  border-radius: 8px;
  background: var(--sod-red);
  color: #fff;
  font: inherit;
  font-size: 11px;
  font-weight: 700;
  cursor: pointer;
}

.sod-product-add-button:hover {
  background: var(--sod-red-dark);
  border-color: var(--sod-red-dark);
}

.sod-current-order-controls {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 5px;
  margin-top: 8px;
}

.sod-qty-btn {
  width: 26px;
  height: 26px;
  display: inline-grid;
  place-items: center;
  padding: 0;
  border: 1px solid #d9d9d9;
  border-radius: 7px;
  background: #fff;
  color: #222;
  font: inherit;
  font-size: 15px;
  line-height: 1;
  cursor: pointer;
}

.sod-qty-btn:hover {
  border-color: #bdbdbd;
  background: #f7f7f7;
}

.sod-qty-value {
  min-width: 26px;
  text-align: center;
  font-size: 11px;
  font-weight: 750;
}

.sod-remove-item {
  min-height: 26px;
  padding: 4px 7px;
  border: 0;
  background: transparent;
  color: #999;
  font: inherit;
  font-size: 9.5px;
  text-decoration: underline;
  cursor: pointer;
}

.sod-remove-item:hover {
  color: var(--sod-red);
}

@media (max-width: 900px) {
  .sod-product-add-button,
  .sod-product-actions .sod-order-item-link {
    min-height: 38px;
  }

  .sod-current-order-item {
    grid-template-columns: 44px minmax(0, 1fr);
  }

  .sod-current-order-price {
    grid-column: 2;
    justify-self: start;
    margin-top: -2px;
  }

  .sod-qty-btn {
    width: 30px;
    height: 30px;
  }
}


/* =========================================================
   V23.1 — ручные правки не создают сообщения в чате
========================================================= */
.sod-current-order-help {
  line-height: 1.45;
}

.sod-ai-product .sod-order-item-status--under_order {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 4px 8px;
  border-radius: 999px;
  background: #fff1f0;
  color: var(--sod-red);
  font-size: 10px;
  font-weight: 750;
}

.sod-ai-product:has(.sod-order-item-status--under_order) .sod-product-add-button {
  background: #111;
  border-color: #111;
}

.sod-ai-product:has(.sod-order-item-status--under_order) .sod-product-add-button:hover {
  background: #2d2d2d;
  border-color: #2d2d2d;
}


/* =========================================================
   V23.1 PATCH — мобильные карточки товаров только ВНИЗ
========================================================= */
@media (max-width: 900px) {
  .sod-ai-products {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 10px !important;
    overflow-x: visible !important;
    overflow-y: visible !important;
    padding-bottom: 0 !important;
    scroll-snap-type: none !important;
  }

  .sod-ai-product {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    flex: none !important;
    scroll-snap-align: none !important;
    box-sizing: border-box !important;
  }

  .sod-ai-product-image {
    width: 100% !important;
    height: 150px !important;
  }

  .sod-ai-product-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
  }
}

@media (max-width: 520px) {
  .sod-ai-product {
    flex-basis: auto !important;
  }

  .sod-ai-product-image {
    height: 145px !important;
  }
}


/* =========================================================
   V23.1 PATCH — верхние информационные карточки видимы на mobile
========================================================= */
.sod-quick-card--static,
.sod-quick-card--static strong,
.sod-quick-card--static span {
  color: #222 !important;
  opacity: 1 !important;
  visibility: visible !important;
}

.sod-quick-card--static .sod-quick-icon {
  color: var(--sod-red) !important;
  background: #f2f2f2 !important;
}

.sod-quick-card--static > span:last-child > span {
  color: #929292 !important;
}

@media (max-width: 900px) {
  .sod-quick-launch {
    position: relative !important;
    z-index: 1 !important;
  }

  .sod-quick-card--static {
    display: flex !important;
    min-width: 0 !important;
    min-height: 72px !important;
    background: #fff !important;
    border: 1px solid #e5e5e5 !important;
  }

  .sod-quick-card--static > span:last-child {
    display: block !important;
    min-width: 0 !important;
  }

  .sod-quick-card--static strong {
    display: block !important;
    font-size: 12px !important;
    line-height: 1.25 !important;
  }

  .sod-quick-card--static > span:last-child > span {
    display: block !important;
    margin-top: 3px !important;
    font-size: 10px !important;
    line-height: 1.25 !important;
  }
}

@media (max-width: 520px) {
  /* Не скрываем пояснение у верхних карточек на телефоне. */
  .sod-quick-card--static > span:last-child > span {
    display: block !important;
  }
}

/* =========================================================
   V23.1 PATCH — подсветка позиции после добавления
========================================================= */
.sod-current-order-item.sod-current-order-item--just-added {
  position: relative;
  animation: sodOrderItemFlash 1.6s ease;
}

@keyframes sodOrderItemFlash {
  0%   { background: #fff0ee; }
  35%  { background: #fff0ee; }
  100% { background: transparent; }
}


/* =========================================================
   V23.1 UX PATCH 3 — контрастные верхние карточки + SVG-иконки
========================================================= */

.sod-quick-card--static {
  background: #fff !important;
  border-color: #dcdcdc !important;
}

.sod-quick-card--static strong {
  color: #171717 !important;
  font-weight: 800 !important;
}

.sod-quick-card--static > span:last-child > span {
  color: #666 !important;
}

.sod-quick-card--static .sod-quick-icon {
  flex: 0 0 42px !important;
  width: 42px !important;
  height: 42px !important;
  display: grid !important;
  place-items: center !important;
  background: #fff0ee !important;
  color: var(--sod-red) !important;
  border: 1px solid #f3d1ce !important;
  border-radius: 12px !important;
}

.sod-quick-card--static .sod-quick-icon svg {
  display: block !important;
  overflow: visible !important;
}

@media (max-width: 900px) {
  .sod-quick-launch {
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
  }

  .sod-quick-card--static {
    min-height: 78px !important;
    padding: 12px !important;
    gap: 10px !important;
  }

  .sod-quick-card--static strong {
    font-size: 13px !important;
    line-height: 1.2 !important;
  }

  .sod-quick-card--static > span:last-child > span {
    margin-top: 4px !important;
    font-size: 10.5px !important;
    line-height: 1.3 !important;
  }
}

@media (max-width: 560px) {
  .sod-quick-launch {
    grid-template-columns: 1fr !important;
  }

  .sod-quick-card--static {
    min-height: 72px !important;
  }

  .sod-quick-card--static .sod-quick-icon {
    flex-basis: 40px !important;
    width: 40px !important;
    height: 40px !important;
  }
}


/* =========================================================
   UX4 — ФАКТИЧЕСКИЙ FIX верхних карточек
   В предыдущей сборке они всё ещё были button.sod-chip.
========================================================= */

.sod-quick-launch .sod-quick-card--static {
  appearance: none !important;
  -webkit-appearance: none !important;
  opacity: 1 !important;
  filter: none !important;
  color: #111 !important;
  background: #fff !important;
  border: 1px solid #d9d9d9 !important;
  cursor: default !important;
  pointer-events: none !important;
}

.sod-quick-launch .sod-quick-card--static strong {
  color: #111 !important;
  opacity: 1 !important;
  font-weight: 800 !important;
}

.sod-quick-launch .sod-quick-card--static > span:last-child > span {
  color: #555 !important;
  opacity: 1 !important;
}

.sod-quick-launch .sod-quick-card--static .sod-quick-icon {
  background: #fff !important;
  border: 1.5px solid #ef312a !important;
  color: #ef312a !important;
  opacity: 1 !important;
  filter: none !important;
}

.sod-quick-launch .sod-quick-card--static .sod-quick-icon svg,
.sod-quick-launch .sod-quick-card--static .sod-quick-icon svg * {
  color: #ef312a !important;
  stroke: currentColor;
}

@media (max-width: 900px) {
  .sod-quick-launch .sod-quick-card--static {
    min-height: 78px !important;
  }
}

@media (max-width: 560px) {
  .sod-quick-launch {
    grid-template-columns: 1fr !important;
  }

  .sod-quick-launch .sod-quick-card--static {
    min-height: 70px !important;
  }
}


/* =========================================================
   UX5 — верхние квадраты с цифрами 1 2 3 4 вместо иконок
========================================================= */
.sod-quick-launch .sod-quick-card--static .sod-quick-icon {
  font-size: 17px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  text-align: center !important;
}

.sod-quick-launch .sod-quick-card--static .sod-quick-icon svg {
  display: none !important;
}


/* =========================================================
   UX6 — локальные сообщения фронта о действиях с заявкой
========================================================= */
.sod-message--frontend {
  justify-content: flex-end;
}

.sod-message--frontend .sod-message-content {
  max-width: 78%;
}

.sod-bubble--frontend {
  background: #fff8e8 !important;
  border: 1px solid #f0d88a !important;
  color: #45360d !important;
}

.sod-bubble--frontend strong {
  display: inline-block;
  margin-bottom: 4px;
  color: #2b2310;
  font-size: 12px;
}

.sod-frontend-order-link {
  display: inline-block;
  margin-top: 6px;

  color: var(--sod-red);
  font-size: 12px;
  font-weight: 700;
  text-decoration: underline;

  cursor: pointer;
}

.sod-frontend-order-link:hover {
  color: var(--sod-red-dark);
}

@media (max-width: 900px) {
  .sod-message--frontend .sod-message-content {
    max-width: 88%;
  }
}


/* Важный запрос/подтверждение контактных данных */
.sod-message--assistant .sod-bubble.sod-bubble--contact-request {
  border: 1px solid #efc1be;
  border-left: 4px solid #ef3124;
  background: #fff8f7;
}

.sod-message--assistant .sod-bubble.sod-bubble--contact-request strong {
  color: #111;
  font-weight: 700;
}

/* =========================================================
   V23.2 — заметное увеличенное поле ввода
========================================================= */
.sod-input-wrap {
  padding-top: 14px !important;
  padding-bottom: 14px !important;
}

.sod-input {
  min-height: 64px !important;
  max-height: 150px !important;
  padding: 19px 16px !important;
  border: 1.5px solid #cfcfcf !important;
  border-radius: 12px !important;
  background: #fff !important;
  font-size: 15px !important;
  line-height: 24px !important;
  box-shadow: 0 2px 10px rgba(0, 0, 0, .035);
  transition: border-color .15s ease, box-shadow .15s ease;
}

.sod-input::placeholder {
  color: #888 !important;
}

.sod-input:focus {
  border-color: #ef312a !important;
  box-shadow: 0 0 0 3px rgba(239, 49, 42, .08) !important;
}

.sod-send {
  height: 64px !important;
  line-height: 64px !important;
  border-radius: 12px !important;
}

@media (max-width: 900px) {
  .sod-input-wrap,
  body.sod-mobile-collapsed .sod-input-wrap {
    padding: 10px !important;
  }

  .sod-input,
  body.sod-mobile-collapsed .sod-input {
    min-height: 60px !important;
    max-height: 140px !important;
    padding: 17px 13px !important;
    font-size: 16px !important;
    line-height: 24px !important;
    border-radius: 12px !important;
  }

  .sod-send,
  body.sod-mobile-collapsed .sod-send {
    flex-basis: 52px !important;
    width: 52px !important;
    height: 60px !important;
    line-height: 60px !important;
    border-radius: 12px !important;
  }
}


/* =========================================================
   UX6 — увеличенная типографика карточек 1–4
========================================================= */
.sod-quick-launch .sod-quick-card--static strong {
  font-size: 16px !important;
  line-height: 1.25 !important;
}

.sod-quick-launch .sod-quick-card--static > span:last-child > span {
  font-size: 13px !important;
  line-height: 1.4 !important;
}

.sod-quick-launch .sod-quick-card--static {
  min-height: 96px !important;
  padding: 16px !important;
  gap: 12px !important;
}

@media (max-width: 900px) {
  .sod-quick-launch .sod-quick-card--static strong {
    font-size: 15px !important;
  }

  .sod-quick-launch .sod-quick-card--static > span:last-child > span {
    font-size: 12.5px !important;
    line-height: 1.4 !important;
  }

  .sod-quick-launch .sod-quick-card--static {
    min-height: 92px !important;
    padding: 14px !important;
  }
}

/* Имя персонального менеджера в карточке 4 */
.sod-quick-card--static .sod-manager-name {
  color: var(--sod-red) !important;
  font-weight: 700 !important;
}

/* Акцентная строка над чатом */
.sod-chat-intro {
  font-weight: 800 !important;
}


/* =========================================================
   UX — менеджер Роман: красный, но в одной строке с текстом
========================================================= */
.sod-quick-launch .sod-quick-card--static .sod-manager-name {
  display: inline !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #ef312a !important;
  font: inherit !important;
  font-size: inherit !important;
  line-height: inherit !important;
  font-weight: 800 !important;
  vertical-align: baseline !important;
}

/* ===== ЛОГИКА/КОМПОНЕНТЫ V5.8 ===== */
/* ===== v2.2 START PROFILE GATE ===== */
.sod-profile-gate{
  position:absolute; inset:0; z-index:80;
  display:flex; align-items:center; justify-content:center;
  padding:22px; background:rgba(255,255,255,.96);
  backdrop-filter:blur(4px);
}
.sod-profile-card{
  width:min(520px,100%); border:1px solid #e6e6e6; border-radius:18px;
  background:#fff; padding:22px; box-shadow:0 18px 50px rgba(0,0,0,.08);
}
.sod-profile-card h3{margin:0 0 7px;font-size:20px;line-height:1.2}
.sod-profile-card p{margin:0 0 17px;color:#666;font-size:13px;line-height:1.45}
.sod-profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.sod-profile-field{display:flex;flex-direction:column;gap:6px}
.sod-profile-field--full{grid-column:1/-1}
.sod-profile-field label{font-size:12px;font-weight:700}
.sod-profile-field input{
  height:44px;border:1px solid #d9d9d9;border-radius:10px;padding:0 12px;
  font:inherit;outline:none;background:#fff
}
.sod-profile-field input:focus{border-color:#ef3129}
.sod-profile-consent{
  margin-top:14px;padding:12px;border:1px solid #ececec;border-radius:12px;background:#fafafa
}
.sod-profile-check{display:flex;align-items:flex-start;gap:9px;font-size:12px;line-height:1.45}
.sod-profile-check input{margin-top:3px}
.sod-profile-links{font-size:11px;margin-top:7px;color:#777}
.sod-profile-links a{color:#222;text-decoration:underline}
.sod-profile-submit{
  width:100%;height:46px;border:0;border-radius:11px;margin-top:14px;
  background:#ef3129;color:#fff;font-weight:800;cursor:pointer
}
.sod-profile-submit:disabled{opacity:.45;cursor:default}
.sod-profile-error{display:none;margin-top:10px;color:#c62828;font-size:12px;line-height:1.4}
.sod-profile-note{margin-top:9px;color:#888;font-size:11px;line-height:1.4}
@media(max-width:620px){
  .sod-profile-gate{padding:12px}
  .sod-profile-card{padding:17px;border-radius:15px}
  .sod-profile-grid{grid-template-columns:1fr}
  .sod-profile-field--full{grid-column:auto}
}

/* V5.1 — animated supplier search */
.sod-pending-group{
  grid-column:1 / -1;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:9px;
}
.sod-ai-product--skeleton{
  position:relative;
  min-height:220px;
  overflow:hidden;
  border-color:#ececec !important;
  background:#fff;
}
.sod-ai-product--skeleton::after{
  content:"";
  position:absolute;
  inset:0;
  transform:translateX(-110%);
  background:linear-gradient(100deg,transparent 20%,rgba(255,255,255,.78) 48%,transparent 76%);
  animation:sodSupplierShimmer 1.35s infinite;
  pointer-events:none;
}
.sod-skeleton-image,
.sod-skeleton-line{
  background:#edf0f2;
  border-radius:8px;
}
.sod-skeleton-image{height:112px;margin-bottom:12px}
.sod-skeleton-line{height:12px;margin-bottom:8px}
.sod-skeleton-line--wide{width:88%}
.sod-skeleton-line--medium{width:64%}
.sod-skeleton-line--short{width:42%}
.sod-supplier-search-label{
  position:relative;
  z-index:1;
  margin-top:12px;
  color:#ef3129;
  font-size:11px;
  font-weight:750;
}
.sod-supplier-search-dots span{
  display:inline-block;
  animation:sodSupplierDot 1.2s infinite;
}
.sod-supplier-search-dots span:nth-child(2){animation-delay:.16s}
.sod-supplier-search-dots span:nth-child(3){animation-delay:.32s}
@keyframes sodSupplierShimmer{to{transform:translateX(110%)}}
@keyframes sodSupplierDot{0%,60%,100%{opacity:.25}30%{opacity:1}}

@media(max-width:900px){
  .sod-pending-group{grid-template-columns:1fr}
  .sod-ai-product--skeleton{min-height:154px}
  .sod-skeleton-image{height:68px}
  .sod-review-table{min-width:0 !important;table-layout:fixed !important;font-size:11px !important}
  .sod-review-table th,
  .sod-review-table td{padding:6px 4px !important;word-break:break-word !important}
}
