.aura-area-widget {
  width: 100%;
  overflow: visible;
}

/* Elementor containers often use overflow:hidden (border-radius) and clip the map */
.elementor-widget-aura-area-map,
.elementor-widget-aura-area-map > .elementor-widget-container,
.e-con:has(.aura-area-widget),
.e-con-inner:has(.aura-area-widget),
.elementor-element:has(> .aura-area-widget),
.elementor-element:has(> .elementor-widget-container > .aura-area-widget) {
  overflow: visible !important;
}

.aura-area-widget__map {
  width: 100%;
  overflow: visible;
  line-height: 0;
  aspect-ratio: var(--aura-map-aspect, auto);
}

.aura-area-widget__map-inner {
  position: relative;
  display: block;
  width: 100%;
  line-height: 0;
}

.aura-area-widget svg {
  display: block;
  width: 100%;
  height: auto;
  max-width: 100%;
  max-height: none;
  overflow: visible !important;
}

.aura-area-widget__title {
  margin: 0 0 1rem;
  text-align: center;
}

.aura-area-widget-placeholder {
  padding: 24px;
  border: 1px dashed #c3c4c7;
  color: #50575e;
  text-align: center;
  background: #f6f7f7;
}

.aura-unit-nav {
  width: 100%;
  box-sizing: border-box;
  margin: 0;
  padding:0;
}


nav.aura-unit-nav .aura-unit-nav__text--home svg {
    width: 20px;
    height: 20px;
}

nav.aura-unit-nav .aura-unit-nav__text--home svg path {
    fill: #0b1956;
}

.aura-unit-nav__list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.45rem 0.65rem;
  list-style: none;
  margin: 0;
  padding: 0;
  font-family: var(--arb-font, inherit);
  font-size: 0.95rem;
  font-weight: 600;
  line-height: 1.3;
}

.aura-unit-nav__sep {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 0;
}

.aura-unit-nav__arrow {
  display: block;
  width: 0.7rem;
  height: 0.7rem;
  color: #0b1956;
}

.aura-unit-nav__link,
.aura-unit-nav__text {
  color: inherit;
  text-decoration: none;
}

.aura-unit-nav__link--home,
.aura-unit-nav__text--home {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
}

.aura-unit-nav__home-icon {
  display: block;
  width: 20px;
  height: 20px;
  flex-shrink: 0;
}

.aura-unit-nav__item.is-done .aura-unit-nav__link {
  color: #0b1956;
  transition: opacity 0.2s ease;
}

.aura-unit-nav__item.is-done .aura-unit-nav__link:hover,
.aura-unit-nav__item.is-done .aura-unit-nav__link:focus-visible {
  opacity: 0.75;
}

.aura-unit-nav__item.is-current .aura-unit-nav__text {
  color: #1d1d1d;
}

.aura-unit-nav__item.is-pending .aura-unit-nav__text {
  color: #1d1d1d;
  opacity: 0.38;
}

@media (max-width: 768px) {
  /*
   * Keep a usable map height on narrow screens: render SVG wider than the
   * viewport and allow horizontal pan so the full drawing is not clipped.
   * Width follows the image viewBox (1369×770) so the photo fills the SVG
   * with no extra empty height in .aura-area-widget__map-inner.
   */
  .aura-area-widget__map {
    --aura-map-mobile-h: min(68vh, 540px);
    aspect-ratio: auto;
    width: 100%;
    overflow: hidden;
    touch-action: pan-y;
  }

  .aura-area-widget__map-inner {
    display: block;
    width: max-content;
    max-width: none;
    height: auto;
    line-height: 0;
    will-change: transform;
    touch-action: pan-y;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
  }

  .aura-area-widget__map svg,
  .aura-area-widget__map a.svg-link {
    touch-action: pan-y;
  }

  .aura-area-widget__map svg {
    display: block;
    width: calc(var(--aura-map-mobile-h) * var(--aura-map-w, 1369) / var(--aura-map-h, 770)) !important;
    height: var(--aura-map-mobile-h) !important;
    max-width: none !important;
    max-height: none !important;
    min-height: 0;
    aspect-ratio: var(--aura-map-aspect, 1369 / 770);
  }

  .aura-unit-nav__list {
    font-size: 0.85rem;
    gap: 0.3rem 0.45rem;
  }

  .tippy-box[data-theme~="custom"] {
    font-size: 0.75rem;
    padding: 0.15rem 0.15rem;
    pointer-events: auto;
    cursor: pointer;
  }
}
