/* Public pstroymsk.ru mobile hardening: prevent off-canvas UI from widening
   the document and replace the CSP-blocked embedded map with a safe link. */
html,
body {
  max-width: 100%;
  overflow-x: hidden;
}

@supports (overflow: clip) {
  html,
  body {
    overflow-x: clip;
  }
}

.sidemenu {
  box-sizing: border-box;
  max-width: 100vw;
}

.tooltip-badge__bubble {
  box-sizing: border-box;
  width: 280px;
  max-width: calc(100vw - 32px);
  white-space: normal;
}

.archiq-map-fallback {
  box-sizing: border-box;
  min-height: 535px;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  padding: 32px;
  background:
    linear-gradient(135deg, rgba(253, 182, 52, 0.12), rgba(35, 38, 47, 0.08)),
    #f2f3f5;
}

.archiq-map-fallback__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 12px 22px;
  border-radius: 10px;
  background: #fdb634;
  color: #111 !important;
  font-weight: 700;
  line-height: 1.25;
  text-align: center;
  text-decoration: none;
  box-shadow: 0 8px 20px rgba(253, 182, 52, 0.28);
}

.archiq-map-fallback__link:focus-visible {
  outline: 3px solid #111;
  outline-offset: 3px;
}

@media (max-width: 767px) {
  .sidemenu {
    width: min(var(--menu-width), 100vw);
  }

  .tooltip-badge__bubble {
    left: auto;
    right: 0;
    width: min(280px, calc(100vw - 32px));
    max-width: calc(100vw - 32px);
    transform: translateY(6px);
  }

  .tooltip-badge:hover .tooltip-badge__bubble,
  .tooltip-badge:focus-within .tooltip-badge__bubble {
    transform: translateY(0);
  }

  .archiq-map-fallback {
    min-height: 180px;
    padding: 20px;
  }

  .archiq-map-fallback__link {
    width: 100%;
    max-width: 320px;
  }
}
