/*!
 * smit-address — поле адреса с подсказками. Пара с smit-address.js.
 */

.smit-addr-input { /* оформление берётся у .form-control страницы */ }

/* Метка адреса справа в поле */
.smit-addr-wrap { position: relative; display: block; }
.smit-addr-wrap .smit-addr-input { padding-right: 36px; }
.smit-addr-ico {
  position: absolute; right: 2px; top: 50%; transform: translateY(-50%);
  width: 30px; height: 30px; display: flex; align-items: center; justify-content: center;
  border: 0; background: transparent; cursor: text; border-radius: var(--radius-sm);
  color: var(--text-muted, #64748b);
}
.smit-addr-wrap:focus-within .smit-addr-ico { color: var(--brand-primary, #43b77a); }

/* Список рисуется в body: внутри модалки его срезала бы прокрутка тела */
.smit-addr-list {
  position: fixed; z-index: 2700; display: none;
  max-height: 300px; overflow-y: auto;
  padding: 6px; border: 1px solid var(--border-subtle, #dbe2ea);
  border-radius: var(--radius-sm); background: var(--surface-card, #fff);
  box-shadow: var(--shadow-lg);
}
.smit-addr-list.is-open { display: block; }
.smit-addr-item {
  display: grid; grid-template-columns: 1fr auto; gap: 2px 8px; width: 100%;
  padding: 7px 9px; border: 0; border-radius: var(--radius-sm); background: transparent;
  text-align: left; cursor: pointer; font-size: var(--sc-fz-sm, .82rem);
}
.smit-addr-item:hover, .smit-addr-item.is-active { background: rgba(67, 183, 122, .1); }
.smit-addr-main { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.smit-addr-sub {
  grid-column: 1 / -1; font-size: var(--sc-fz-xs, .76rem); color: var(--text-muted, #64748b);
}
.smit-addr-tag {
  align-self: start; font-size: var(--sc-fz-2xs, .72rem); padding: 1px 7px; border-radius: var(--radius-pill);
  background: rgba(100, 116, 139, .14); color: var(--text-muted, #64748b); white-space: nowrap;
}
.smit-addr-tag.db { background: rgba(67, 183, 122, .16); color: #1f7a52; }
.smit-addr-tag.new { background: rgba(240, 173, 78, .18); color: #8a5a0b; }

/* маленькое окно выбора адреса */
.smit-addr-modal-back {
  position: fixed; inset: 0; z-index: 2650; display: flex;
  align-items: center; justify-content: center; padding: 20px;
  background: rgba(15, 23, 42, .45);
}
.smit-addr-modal {
  width: 100%; max-width: 560px; background: var(--surface-card, #fff);
  border: 1px solid var(--border-subtle, #dbe2ea); border-radius: var(--radius-sm);
  box-shadow: var(--shadow-lg); overflow: hidden;
}
.smit-addr-modal-head {
  display: flex; align-items: center; padding: 12px 16px;
  border-bottom: 1px solid var(--border-subtle, #dbe2ea);
}
.smit-addr-modal-x {
  margin-left: auto; width: 30px; height: 30px; border: 0; border-radius: var(--radius-sm);
  background: transparent; color: var(--text-muted, #64748b); cursor: pointer;
}
.smit-addr-modal-x:hover { background: rgba(100, 116, 139, .12); }
.smit-addr-modal-body { padding: 14px 16px; }
.smit-addr-picked {
  margin-top: 12px; padding: 10px 12px; border-radius: var(--radius-sm);
  background: rgba(67, 183, 122, .08); border: 1px solid rgba(67, 183, 122, .25);
  font-size: var(--sc-fz-sm, .82rem);
}
.smit-addr-note { margin-top: 4px; font-size: var(--sc-fz-xs, .76rem); color: var(--text-muted, #64748b); }
.smit-addr-err { margin-top: 6px; font-size: var(--sc-fz-xs, .76rem); color: #c62f36; }
.smit-addr-modal-foot {
  display: flex; gap: 8px; justify-content: flex-end; padding: 12px 16px;
  border-top: 1px solid var(--border-subtle, #dbe2ea); background: var(--surface-muted, #fbfcfe);
}

/* ── тёмная тема ── */
[data-bs-theme="dark"] .smit-addr-list, .dark-theme .smit-addr-list,
[data-bs-theme="dark"] .smit-addr-modal, .dark-theme .smit-addr-modal {
  background: var(--surface-card); border-color: var(--border-subtle); box-shadow: var(--shadow-lg);
}
[data-bs-theme="dark"] .smit-addr-sub, .dark-theme .smit-addr-sub,
[data-bs-theme="dark"] .smit-addr-note, .dark-theme .smit-addr-note { color: var(--text-muted); }
[data-bs-theme="dark"] .smit-addr-modal-head, .dark-theme .smit-addr-modal-head,
[data-bs-theme="dark"] .smit-addr-modal-foot, .dark-theme .smit-addr-modal-foot { border-color: var(--border-subtle); }
[data-bs-theme="dark"] .smit-addr-modal-foot, .dark-theme .smit-addr-modal-foot { background: var(--surface-muted); }

/* ── телефон: список и окно во всю ширину ── */
@media (max-width: 767.98px) {
  .smit-addr-list { left: 8px !important; right: 8px; width: auto !important; }
  .smit-addr-item { padding: 10px 9px; }
  .smit-addr-modal-back { padding: 0; align-items: flex-end; }
  .smit-addr-modal { max-width: 100%; border-radius: var(--radius-sm) var(--radius-sm) 0 0; }
}

/* Поле внутри бутстраповской группы: у группы раскладка flex, и блочная
   обёртка компонента сжималась до ширины курсора. Ведём себя как обычное
   поле группы — занимаем свободное место. */
.input-group > .smit-addr-wrap { flex: 1 1 auto; width: 1%; }
