/* Карта (из blocks-library/map.css) — только внутри #lp-webformula-s2 .lp-webformula-map, палитра лендинга */

#lp-webformula-s2 .lp-webformula-map {
  --lp-map-text: #3f492a;
  --lp-map-page-bg: #faf9f6;
  --lp-map-surface: #ffffff;
  --lp-map-accent: #3f492a;
  --lp-map-shadow: 0 8px 24px rgba(22, 28, 14, 0.1);
  /* Не привязываем em к 1vw — иначе .map_media { width: 100em } раздувает min-content и ломает flex-колонку */
  font-size: clamp(0.65rem, 0.9vw, 0.9rem);
  position: relative;
}

#lp-webformula-s2 .lp-webformula-map * {
  box-sizing: border-box;
}

#lp-webformula-s2 .lp-webformula-map .map_wrap {
  margin-top: 0;
}

#lp-webformula-s2 .lp-webformula-map .map_element {
  margin-top: 0;
  margin-bottom: 0;
  font-size: inherit;
  position: relative;
}

#lp-webformula-s2 .lp-webformula-map .map_media {
  width: 100%;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
  position: relative;
}

#lp-webformula-s2 .lp-webformula-map .map_media img {
  display: block;
  width: 100%;
  height: auto;
  vertical-align: middle;
}

#lp-webformula-s2 .lp-webformula-map .map_marker {
  width: 4.5em;
  height: 4.5em;
  position: absolute;
  inset: 0 auto auto 0;
}

/* Юг России / Кубань (прибл. позиция на world map SVG 1184×610) */
#lp-webformula-s2 .lp-webformula-map .map_marker.is-kub {
  top: 29em;
  left: 50.5em;
}

#lp-webformula-s2 .lp-webformula-map .g-tooltip {
  color: var(--lp-map-text);
  display: inline-block;
  position: relative;
}

#lp-webformula-s2 .lp-webformula-map .map_marker .g-tooltip {
  position: relative;
  width: 100%;
  height: 100%;
  display: block;
}

#lp-webformula-s2 .lp-webformula-map .g-tooltip-trigger {
  width: 100%;
  height: 100%;
}

#lp-webformula-s2 .lp-webformula-map .map_marker .g-tooltip-element {
  position: absolute !important;
  left: 50% !important;
  right: auto !important;
  top: auto !important;
  bottom: 100% !important;
  margin-bottom: 0.35rem;
  transform: translateX(-50%) !important;
  pointer-events: none;
  z-index: 9999;
  opacity: 0;
  transition: opacity 0.2s ease;
}

#lp-webformula-s2 .lp-webformula-map .g-tooltip:hover .g-tooltip-element {
  opacity: 1 !important;
  pointer-events: auto;
}

#lp-webformula-s2 .lp-webformula-map .g-tooltip-content {
  padding: 1rem 1.25rem;
  gap: 0.5rem;
  background-color: var(--lp-map-surface);
  color: var(--lp-map-text);
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  width: min(15vw, 22rem);
  min-width: 15rem;
  display: flex;
  box-shadow: var(--lp-map-shadow);
}

#lp-webformula-s2 .lp-webformula-map .u-text-style-h6 {
  font-family: "Montserrat", system-ui, sans-serif;
  font-size: clamp(0.95rem, 1.4vw, 1.15rem);
  line-height: 1.2;
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none;
  margin: 0;
  display: flow-root;
}

#lp-webformula-s2 .lp-webformula-map .u-text-style-small {
  font-family: "Roboto", system-ui, sans-serif;
  font-size: clamp(0.8rem, 1.1vw, 0.95rem);
  line-height: 1.35;
  font-weight: 400;
  margin: 0;
  display: flow-root;
  text-wrap: pretty;
}

#lp-webformula-s2 .lp-webformula-map .g-tooltip-content .u-text-style-h6 {
  margin-bottom: 0.35rem;
}

#lp-webformula-s2 .lp-webformula-map .icon_btn_wrap {
  z-index: 2;
  flex: none;
  justify-content: center;
  align-items: center;
  width: 2.5rem;
  height: 2.5rem;
  display: flex;
  position: relative;
  cursor: default;
}

#lp-webformula-s2 .lp-webformula-map .icon_btn_inner {
  z-index: 5;
  border-radius: 50%;
  background-color: var(--lp-map-page-bg);
  color: var(--lp-map-text);
  justify-content: center;
  align-items: center;
  width: 80%;
  height: 80%;
  transition: color 0.4s, background-color 0.4s;
  display: flex;
  position: absolute;
  box-shadow: var(--lp-map-shadow);
}

#lp-webformula-s2 .lp-webformula-map .icon_btn_inner:hover {
  background-color: var(--lp-map-text);
  color: #faf9f6;
}

#lp-webformula-s2 .lp-webformula-map .icon_btn_ring {
  border-radius: 50%;
  width: 100%;
  height: 100%;
  background-image: url("marker-ring.svg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}

#lp-webformula-s2 .lp-webformula-map .icon_btn_svg {
  object-fit: contain;
  color: currentColor;
  justify-content: center;
  align-items: center;
  width: 40%;
  height: 50%;
  display: flex;
}
