/* CRM-1953: страница товара delta.online/{артикул} (собирает сервер CRM, sku_page.go).
   Основа — стили шаблона сайта компании (styles.css, crm.css: .prod, .tiles, .supp, .prod__table);
   здесь — только то, чего нет в шаблоне: таблица продавцов с кнопкой, совместимость, отметки. */
.skupage .nav a { white-space: nowrap; }
.sku-flag {
  display: inline-block; margin: 0 0 10px; padding: 4px 10px; border-radius: 999px;
  background: var(--c-red); color: #F6E9E7; font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase;
}

/* продавцы: как «Наличие и доставка» (crm.css), плюс колонка с кнопкой */
.supp--offers .supp__head, .supp--offers .supp__row { grid-template-columns: minmax(0, 1.5fr) 210px minmax(0, 1fr) auto; }
.supp__name a:hover { text-decoration: underline; text-underline-offset: 3px; }
.supp__flag { font-style: normal; font-size: 10.5px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: #406B49; }
.supp__price .supp__ask { font-size: 16px; letter-spacing: -.01em; }
.supp__go { justify-self: end; }
.supp__go .btn { white-space: nowrap; }
.sku-empty { margin: 0; }

/* совместимость */
.compat + .compat { margin-top: 26px; }
.compat__title { margin: 0 0 12px; font-size: 12px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--muted); }
.compat__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 8px; }
.compat__list li { min-width: 0; }
.compat__item {
  display: flex; flex-direction: column; gap: 6px; height: 100%; padding: 14px 16px;
  border: 1px solid var(--line-2); border-radius: var(--radius); background: var(--surface);
}
.compat__item b { font-size: 14.5px; font-weight: 700; line-height: 1.3; overflow-wrap: anywhere; }
a.compat__item:hover { border-color: var(--ink); }
a.compat__item b { text-decoration: underline; text-decoration-color: var(--line-2); text-underline-offset: 3px; }

.footer__about { margin: 14px 0 0; max-width: 360px; font-size: 14px; line-height: 1.5; color: var(--ink-2); }
.footer__small { display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.sku-ask-done { margin: 0; font-size: 18px; font-weight: 600; color: #F1F0ED; }

@media (max-width: 1099px) {
  .supp--offers .supp__row { grid-template-columns: minmax(0, 1fr) auto; }
  .supp--offers .supp__go { grid-column: 1 / -1; justify-self: start; }
}

/* CRM-1958: кадр главного фото из админки (масштаб, сдвиг, режим) — рамка 1.25:1 обрезает то, что вышло за край */
.prod__frame { overflow: hidden; }

/* CRM-1957: логотип delta.online (как на лендингах и в favicon.svg) вместо квадратного знака шаблона */
.logo__svg { width: 30px; height: 30px; flex-shrink: 0; display: block; }

/* CRM-1961: поставщики на карте — кнопка в «Цены и наличие» и окно с картой delta.online (sku.js) */
.supp__mapbtn { display: inline-flex; align-items: center; gap: 8px; white-space: nowrap; }
.supp__mapbtn svg { flex-shrink: 0; }
.smap { position: fixed; inset: 0; z-index: 1000; display: flex; align-items: center; justify-content: center;
  padding: 20px; background: rgba(18, 18, 18, .6); }
.smap[hidden] { display: none; }
.smap-open, .smap-open body { overflow: hidden; }
.smap__box { display: flex; flex-direction: column; width: min(1180px, 100%); height: min(760px, calc(100vh - 40px));
  background: var(--panel); border-radius: var(--radius); overflow: hidden; box-shadow: 0 24px 70px rgba(0, 0, 0, .35); }
.smap__head { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 14px 18px 14px 22px;
  border-bottom: 1px solid var(--line); }
.smap__ttl { min-width: 0; }
.smap__ttl b { display: block; font-size: 20px; font-weight: 800; letter-spacing: -.02em; }
.smap__sub { display: block; margin-top: 2px; font-size: 13px; color: var(--ink-2); overflow-wrap: anywhere; }
.smap__x { width: 40px; height: 40px; flex-shrink: 0; border: 1px solid var(--line-2); border-radius: 50%;
  background: transparent; font: 400 24px/1 var(--font); color: var(--ink); cursor: pointer; }
.smap__x:hover { border-color: var(--ink); }
.smap__body { flex: 1; min-height: 0; display: grid; grid-template-columns: 360px minmax(0, 1fr); grid-template-areas: "list map"; }
.smap__list { grid-area: list; margin: 0; padding: 6px 10px; list-style: none; overflow: auto; border-right: 1px solid var(--line); }
.smap__li { padding: 6px 0 10px; border-bottom: 1px solid var(--line); }
.smap__li:last-child { border-bottom: 0; }
.smap__item { display: grid; grid-template-columns: 30px minmax(0, 1fr); gap: 12px; width: 100%; padding: 10px; border: 0;
  border-radius: var(--radius); background: none; font: inherit; color: inherit; text-align: left; cursor: pointer; }
.smap__item:hover, .smap__item.is-on { background: var(--surface); }
.smap__n, .smap__pin { display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 30px;
  border-radius: 50%; background: var(--ink); color: #fff; font: 700 13px/1 var(--font); }
.smap__li.is-best .smap__n, .smap__pin.is-best { background: #406B49; }
.smap__info { min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.smap__info b { font-size: 15px; font-weight: 700; overflow-wrap: anywhere; }
.smap__info i { font-style: normal; font-size: 13px; color: var(--ink-2); overflow-wrap: anywhere; }
.smap__meta { font-size: 13px; font-weight: 600; }
.smap__go { display: inline-block; margin-left: 52px; font-size: 13px; font-weight: 600; color: var(--ink);
  text-decoration: underline; text-underline-offset: 3px; }
.smap__map { grid-area: map; position: relative; min-height: 0; background: #f4f1ec; }
/* у контейнера карты MapLibre ставит свой класс .maplibregl-map с position: relative — нужна специфичность выше */
.smap__map > .smap__canvas { position: absolute; inset: 0; }
.smap__state { position: absolute; inset: 0; margin: 0; display: flex; align-items: center; justify-content: center;
  padding: 24px; text-align: center; font-size: 14px; color: var(--ink-2); pointer-events: none; }
.smap__state[hidden] { display: none; }
.smap__pin { padding: 0; border: 2px solid #fff; box-shadow: 0 2px 8px rgba(0, 0, 0, .3); cursor: pointer; }
.smap-pop { display: flex; flex-direction: column; gap: 4px; font: 500 13px/1.35 var(--font); color: var(--ink); }
.smap-pop b { font-size: 14px; font-weight: 700; }
.smap-pop i { font-style: normal; color: var(--ink-2); }
.smap-pop a { margin-top: 2px; font-weight: 700; color: var(--ink); text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 767px) {
  .smap { padding: 0; }
  .smap__box { width: 100%; height: 100%; border-radius: 0; }
  .smap__body { grid-template-columns: minmax(0, 1fr); grid-template-rows: 46vh minmax(0, 1fr); grid-template-areas: "map" "list"; }
  .smap__list { border-right: 0; }
}
@media (prefers-reduced-motion: reduce) { .smap__box { box-shadow: none; } }
