/*
 * Глобус в шапке и панель «язык + страна доставки».
 *
 * Отдельный файл, а не правка main.min.css: тот минифицирован и весит 274 КБ,
 * правка в нём не читается в диффе. Так уже сделано для heine-catnum-copy.css.
 *
 * Иконка нарисована тем же приёмом, что соседние (.search-ico, .basket-ico):
 * inline-SVG в background-image, 24x24, обводка #404145 толщиной 2. Своего
 * размера не задаёт — его даёт общий класс .hb-ico (26x26).
 */

.globe-ico {
  background-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 21C16.9706 21 21 16.9706 21 12C21 7.02944 16.9706 3 12 3C7.02944 3 3 7.02944 3 12C3 16.9706 7.02944 21 12 21Z' stroke='%23404145' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M3.6 9H20.4M3.6 15H20.4' stroke='%23404145' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M12 3C14.0091 5.29962 15.1509 8.5836 15.1509 12C15.1509 15.4164 14.0091 18.7004 12 21C9.99094 18.7004 8.84912 15.4164 8.84912 12C8.84912 8.5836 9.99094 5.29962 12 3Z' stroke='%23404145' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A");
}

/* Плашка была текстом («English»), стала иконкой — вертикальные отступы
   выравниваем по соседям в .header-list, а не по прежней строке текста. */
.header-lang-top .hb-ico {
  vertical-align: middle;
}

.header-lang .visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}

/* Панель раньше держала только список языков и была шириной 114px. Теперь в ней
   ещё и выбор страны, которому нужна читаемая ширина. */
.header-lang-list.heine-region-list {
  width: 240px;
  left: auto;
  right: 0;
  padding: 12px;
  box-sizing: border-box;
  text-align: left;

  /* Рамка — та же, что у блоков оформления заказа (.ordering-sidebar-wrap,
     кнопка удаления позиции): #cecfd2. Без неё край панели не читается —
     фон #f1f3f2 слишком близок к фону страницы. */
  border: 1px solid #cecfd2;
}

/* Носик панели: панель прижата к правому краю блока, значит и он — справа,
   под самим глобусом. Ширина носика 14px, половина ширины глобуса — 13px. */
.header-lang-list.heine-region-list::after {
  left: auto;
  right: 6px;
}

.heine-region-group + .heine-region-group {
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid #dcdfde;
}

.heine-region-label {
  display: block;
  margin-bottom: 6px;
  font-size: 12px;
  line-height: 1.2;
  color: #7a7d81;
}

/* Поле с поиском вместо списка: вид прежний, поведение — фильтрация браузером.
   Стрелку выпадашки браузер рисует сам только у <select>, поэтому подсказка тут
   в placeholder, а не в иконке. */
/* Выпадающий список браузер рисует по ширине поля, поэтому ограничиваем поле, а
   не список: поле занимает ровно ширину панели за вычетом её отступов. */
.heine-region-lang,
.heine-region-country {
  width: 100%;
  padding: 7px 8px;
  font-size: 14px;
  line-height: 1.2;
  color: #404145;
  background: #fff;
  border: 1px solid #dcdfde;
  border-radius: 1px;
  box-sizing: border-box;
}

/* Подпись рядом с глобусом — только для бургера. На десктопе в ряду иконок
   текста нет ни у поиска, ни у корзины, и плашке он там тоже не нужен. */
.heine-region-summary {
  display: none;
}

/*
 * Бургер-меню.
 *
 * Ниже 1060px main.min.css:4889 прячет плашку целиком — то есть до 2026-09-04 на
 * телефоне не было ни выбора языка, ни выбора страны. Возвращаем её строкой внизу
 * бургера: глобус слева, дальше текущий язык и страна.
 *
 * Панель здесь не всплывающая, а обычный блок: всплывать ей некуда — бургер и так
 * выехавшая панель, а вторая поверх неё читалась бы как ошибка.
 */
@media only screen and (max-width: 1060px) {
  .header-lang {
    display: block;
    padding: 20px 0 0;
    margin-top: 20px;
    border-top: 1px solid #cecfd2;
  }

  .header-lang-top {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 0;
    font-size: 18px;
    line-height: 1.2;
    color: #404145;
  }

  /* стрелка-указатель осталась бы висеть справа у края экрана */
  .header-lang-top::after {
    display: none;
  }

  .heine-region-summary {
    display: inline;
  }

  .header-lang-list.heine-region-list {
    position: static;
    width: 100%;
    padding: 16px 0 0;
    border: 0;
    background: none;
    opacity: 1;
    visibility: visible;
    display: none !important;
  }

  .header-lang.active .header-lang-list.heine-region-list {
    display: block !important;
  }

  .header-lang-list.heine-region-list::after {
    display: none;
  }

  .heine-region-lang,
  .heine-region-country {
    font-size: 16px;
    padding: 10px 8px;
  }
}


/* ------------------------------------------------------------------ *
 *  Поле с поиском: свой выпадающий список.
 *
 *  Стиль общий для шапки и для формы заказа — это одно и то же поле в двух
 *  местах, и выглядеть оно должно одинаково. Поэтому правила здесь, а не в
 *  стилях чекаута.
 * ------------------------------------------------------------------ */

.heine-combo-wrap {
  position: relative;
}

.heine-combo-list {
  position: absolute;
  z-index: 30;
  top: 100%;
  left: 0;
  /* ширину ставит скрипт по фактической ширине поля — см. comboOpen() */
  margin: 2px 0 0;
  padding: 0;
  list-style: none;

  /* Ради этой строки список и написан свой: высотой нативного управляет
     браузер, и 239 стран разворачивались во весь экран. */
  max-height: 260px;
  overflow-y: auto;

  background: #fff;
  border: 1px solid #cecfd2;
  box-shadow: 0 4px 16px rgba(0, 0, 0, .08);
}

.heine-combo-list li {
  padding: 7px 10px;
  font-size: 14px;
  line-height: 1.3;
  color: #404145;
  cursor: pointer;
}

.heine-combo-list li:hover {
  background: #f1f3f2;
}

/* Текущая страна — её видно сразу при раскрытии, к ней же список
   прокручивается. Не «наведено мышью», а «выбрано», поэтому не серый фон. */
.heine-combo-list li.is-active {
  background: #e8f2ec;
  font-weight: 500;
}


/* ------------------------------------------------------------------ *
 *  Живая проверка номера НДС.
 *
 *  Живёт здесь, а не в стилях чекаута: рядом лежат стили полей с поиском,
 *  и оба про одно — про поля, которые что-то выясняют у сервера.
 * ------------------------------------------------------------------ */

.heine-vat-check {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 8px;
}

.heine-vat-btn {
  padding: 7px 14px;
  font-size: 14px;
  line-height: 1.2;
  color: #404145;
  background: #fff;
  border: 1px solid #cecfd2;
  border-radius: 1px;
  cursor: pointer;
}

.heine-vat-btn:hover {
  border-color: #404145;
}

.heine-vat-btn[disabled] {
  opacity: .5;
  cursor: default;
}

.heine-vat-result {
  font-size: 14px;
  line-height: 1.3;
}

/* Подтверждено — зелёным: это единственный исход, дающий нулевую ставку. */
.heine-vat-result.is-ok      { color: #1c7c4c; }
.heine-vat-result.is-bad     { color: #d52b1e; }
/* «Не смогли проверить» — не ошибка покупателя, поэтому нейтрально. */
.heine-vat-result.is-neutral { color: #7a7d81; }

/* Кнопка оформления, пока заполнено не всё или номер не проверен. */
.primary-btn[disabled] {
  opacity: .5;
  cursor: default;
}
