/* ===== luma.brnd — блок доставки СДЭК + модалка виджета ===== */
.lm-delivery { margin: 14px 0 10px; }
.lm-del__title {
  font-size: 13px; text-transform: uppercase; letter-spacing: .06em;
  color: #8a8a8a; margin-bottom: 8px;
}

.lm-del__detail { margin-top: 10px; }
.lm-del__pick { width: 100%; }

/* ---- предупреждение: вскрывать посылку строго на ПВЗ ---- */
.lm-del__warn {
  display: flex; align-items: flex-start; gap: 8px;
  margin-top: 10px; padding: 10px 12px;
  background: #fff6e0; border: 1px solid #f0d999; border-radius: 12px;
  font-size: 12px; line-height: 1.45; color: #6b5a1f;
}
.lm-del__warn-ico { flex: 0 0 auto; font-size: 14px; line-height: 1.45; }

/* ---- переключатель способа доставки (СДЭК / Ozon) ---- */
.lm-delmethods { display: flex; gap: 8px; }
.lm-delmethod {
  flex: 1 1 0; min-width: 0;
  display: flex; flex-direction: column; align-items: flex-start; gap: 2px;
  padding: 9px 12px; cursor: pointer;
  border: 1.5px solid #e3e0da; border-radius: 12px; background: #fff;
  font-family: 'Inter', Arial, sans-serif; text-align: left;
  transition: border-color .18s, background .18s;
}
.lm-delmethod b { font-size: 14px; font-weight: 600; color: #2b2226; }
.lm-delmethod i {
  font-style: normal; font-size: 11.5px; color: #a09a90;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 100%;
}
.lm-delmethod:hover { border-color: #f3b7c8; }
.lm-delmethod.lm-active { border-color: #fe517f; background: #fff1ef; }
.lm-delmethod.lm-active i { color: #c96e8a; }

.lm-ozon { margin-bottom: 10px; }

/* ---- город доставки ---- */
.lm-city { margin-bottom: 10px; }
.lm-city__lbl { font-size: 12.5px; color: #8a847a; margin-bottom: 6px; }
.lm-city__inp {
  width: 100%; border: 1.5px solid #e3e0da; border-radius: 12px;
  padding: 11px 13px; font-family: 'Inter', Arial, sans-serif; font-size: 14px;
  color: #2b2226; background: #fff; outline: none; transition: border-color .2s;
}
.lm-city__inp:focus { border-color: #fe517f; }
.lm-city__hint { font-size: 11.5px; color: #a09a90; margin-top: 6px; }
.lm-city__list { margin-top: 6px; max-height: 210px; overflow: auto; }
.lm-city__opt {
  display: flex; align-items: baseline; gap: 8px; width: 100%; text-align: left;
  padding: 9px 12px; border: none; background: #faf9f6; border-radius: 10px;
  margin-bottom: 4px; cursor: pointer; font-family: 'Inter', Arial, sans-serif;
  transition: background .15s;
}
.lm-city__opt:hover { background: #fff1ef; }
.lm-city__opt b { font-size: 14px; font-weight: 600; color: #2b2226; }
.lm-city__opt i { font-style: normal; font-size: 11.5px; color: #9a948a; flex: 1; }
.lm-city__opt span { font-size: 11.5px; color: #b3aca2; white-space: nowrap; }
.lm-city__none { font-size: 12.5px; color: #9a948a; padding: 8px 2px; }
.lm-city__chosen {
  display: flex; align-items: baseline; gap: 8px;
  padding: 10px 12px; background: #faf9f6; border: 1.5px solid #e3e0da; border-radius: 12px;
}
.lm-city__ico { font-size: 13px; }
.lm-city__chosen b { font-size: 14px; }
.lm-city__chosen i { font-style: normal; font-size: 11.5px; color: #9a948a; flex: 1; }
.lm-city__change {
  border: none; background: none; padding: 0; cursor: pointer;
  color: #6b6b6b; font-size: 12.5px; text-decoration: underline; font-family: inherit;
}
.lm-del__chosen {
  border: 1.5px solid #e3e0da; border-radius: 14px; padding: 12px; background: #faf9f6;
}
.lm-del__pvz { font-size: 14px; }
.lm-del__addr { font-size: 13px; color: #5f5a51; margin: 4px 0; }
.lm-del__sum { font-size: 14px; margin-top: 2px; }
.lm-del__change {
  margin-top: 8px; background: none; border: none; padding: 0; cursor: pointer;
  color: #6b6b6b; font-size: 12.5px; text-decoration: underline;
}

/* Итоги: строки товары/доставка/итого (переопределяем старый .lm-total{flex}) */
.lm-total { display: block !important; font-weight: 400 !important; margin-bottom: 10px; }
.lm-total__row { display: flex; justify-content: space-between; font-size: 14px; padding: 2px 0; font-weight: 400; }
.lm-total__row.lm-muted span { color: #8a847a; }
.lm-total__row--disc span { color: #16a34a; font-weight: 600; }
/* сертификат — не скидка, а оплата: красим фирменным розовым, чтобы
   в итогах он не сливался со строкой акции и промокода */
.lm-total__row--cert span { color: #e63a68; }
.lm-total__grand {
  display: flex; justify-content: space-between; align-items: baseline;
  margin-top: 6px; padding-top: 8px; border-top: 1px solid #eae7e0; font-size: 15px;
}
.lm-total__grand b { font-size: 19px; }

/* ===== модалка виджета ===== */
.lm-cdek-overlay {
  position: fixed; inset: 0; z-index: 2000000; display: none;
  align-items: center; justify-content: center; padding: 16px;
  background: rgba(20,18,14,.55);
}
.lm-cdek-overlay.lm-open { display: flex; }
.lm-cdek-modal {
  position: relative; width: min(920px, 96vw); height: min(680px, 90vh);
  background: #fff; border-radius: 18px; overflow: hidden;
  box-shadow: 0 24px 70px rgba(0,0,0,.4);
  display: flex; flex-direction: column;
}
.lm-cdek-head {
  flex: 0 0 auto; display: flex; align-items: center; justify-content: space-between;
  gap: 12px; padding: 10px 10px 10px 18px; border-bottom: 1px solid rgba(43,34,38,.08);
}
.lm-cdek-title {
  font-family: 'Inter', Arial, sans-serif; font-size: 14px; font-weight: 600;
  letter-spacing: .02em; color: #2b2226;
}
.lm-cdek-close {
  flex: 0 0 auto;
  width: 36px; height: 36px; border-radius: 50%; border: none; cursor: pointer;
  background: #fff1ef; color: #8d7b81; font-size: 15px; line-height: 1;
  transition: background .2s, color .2s;
}
.lm-cdek-close:hover { background: #fe517f; color: #fff; }
.lm-cdek-map { flex: 1 1 auto; width: 100%; min-height: 0; }

/* плашка «загружаем карту» поверх области карты */
.lm-cdek-loading {
  position: absolute; left: 0; right: 0; top: 57px; bottom: 0;
  display: none; flex-direction: column; align-items: center; justify-content: center;
  gap: 12px; padding: 24px; text-align: center; background: #fff; z-index: 4;
  font-family: 'Inter', Arial, sans-serif;
}
.lm-cdek-loading.lm-on { display: flex; }
.lm-cdek-loading__t { font-size: 15px; font-weight: 600; color: #2b2226; }
.lm-cdek-loading__s { font-size: 13px; line-height: 1.5; color: #8d7b81; max-width: 340px; }
.lm-cdek-spin {
  width: 38px; height: 38px; border-radius: 50%;
  border: 3px solid #ffe0e8; border-top-color: #fe517f;
  animation: lm-cdek-spin 0.9s linear infinite;
}
@keyframes lm-cdek-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .lm-cdek-spin { animation-duration: 3s; } }

@media (max-width: 560px) {
  .lm-cdek-overlay { padding: 0; }
  .lm-cdek-modal {
    width: 100vw; height: 100%; max-height: 100%; border-radius: 0;
    padding-bottom: env(safe-area-inset-bottom);
  }
  .lm-cdek-head { padding: 12px 10px 12px 16px; }
}
