/* Force Mapplic into "portrait" layout (sidebar below the map),
   keep the original sidebar look, and center the whole element. */

/* Prevent horizontal overflow caused by the 100vw breakout below.
   100vw includes the scrollbar on some platforms, which can push body width. */
html, body {
  overflow-x: clip;
}

html {
  scroll-behavior: smooth;
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
}

/* Outer wrapper = full-bleed green background.
   Uses 100vw + negative margins to escape any parent max-width container. */
.mapplic-element {
  position: relative;
  height: auto !important;
  width: 100vw !important;
  max-width: 100vw !important;
  left: 50% !important;
  right: 50% !important;
  margin-left: -50vw !important;
  margin-right: -50vw !important;
  display: block !important;
  background: #00b2b1 !important;
  padding: 80px 0 0 0 !important;
  box-sizing: border-box;
  overflow-x: hidden;
}

.mapplic-element .mapplic-sidebar {
  float: none !important;
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  background: #ffffff !important;
  box-sizing: border-box;
  padding-top: 80px !important;
  padding-bottom: 80px !important;
}

@media (max-width: 980px) {
  .mapplic-element .mapplic-sidebar {
    padding-top: 40px !important;
    padding-bottom: 40px !important;
  }
}

/* Search bar (header) constrained to ~500px and centered */
.mapplic-element .mapplic-sidebar .mapplic-sidebar-header {
  max-width: 500px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box;
}

/* List of locations - same narrow width as search, centered */
.mapplic-element .mapplic-sidebar .mapplic-list-container {
  max-width: 500px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box;
  position: relative !important;
  top: auto !important;
  bottom: auto !important;
  left: auto !important;
  right: auto !important;
  height: auto !important;
  max-height: 320px !important;
  overflow-y: auto !important;
  margin-top: 65px !important;
  padding-top: 0 !important;
}

.mapplic-popup-link, .mapplic-tooltip-title{
  display:none !important;
}

.mapplic-tooltip-wrap,
.mapplic-lightbox,
.mapplic-popup {
    padding: 56px 24px 0 24px !important;
    box-sizing: border-box;
}

.mapplic-tooltip-wrap .mapplic-image,
.mapplic-lightbox .mapplic-image,
.mapplic-popup .mapplic-image {
    display: block !important;
    width: 220px !important;
    max-width: 100% !important;
    height: 110px !important;
    margin: 0 auto 8px auto !important;
    padding: 0px !important;
    box-sizing: border-box;
    object-fit: contain !important;
    object-position: center center;
}

.mapplic-element .mapplic-sidebar .mapplic-sidebar-header {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
  border-bottom: 0 !important;
}

@media (max-width: 980px) {
  .mapplic-element .mapplic-sidebar .mapplic-list-container {
    max-height: 280px !important;
  }
}

@media (max-width: 980px) {
  .mapplic-element .mapplic-sidebar .mapplic-sidebar-header,
  .mapplic-element .mapplic-sidebar .mapplic-list-container {
    max-width: 90% !important;
  }
}

/* Map container - centered, constrained, transparent (bg comes from .mapplic-element) */
.mapplic-element .mapplic-container {
  float: none !important;
  display: block !important;
  width: 100% !important;
  max-width: 1440px !important;
  margin: 0 auto 80px auto !important;
  height: auto !important;
  aspect-ratio: 2000 / 848;
  position: relative;
  background: transparent !important;
  box-sizing: border-box;
  overflow: hidden;
}

@media (max-width: 980px) {
  .mapplic-element .mapplic-container {
    max-width: 95% !important;
    aspect-ratio: 2000 / 1187;
    min-height: 520px !important;
  }
}

@media (max-width: 600px) {
  .mapplic-element .mapplic-container {
    min-height: 560px !important;
  }
}

.mapplic-element .mapplic-sidebar {
  position: relative !important;
  transform: none !important;
  min-height: 400px;
  max-height: none !important;
  height: auto !important;
  margin-top: 16px;
}

/* Hide controls that no longer make sense in stacked layout */
.mapplic-element .mapplic-sidebar-toggle {
  display: none !important;
}
.mapplic-element .mapplic-sidebar-dim {
  display: none !important;
}

/* ===== Tooltip / popup contact list (.mk-contact) ===== */
.mapplic-tooltip-description .mk-contact,
.mapplic-lightbox-description .mk-contact,
.mapplic-popup .mk-contact {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.mapplic-tooltip-description .mk-contact li,
.mapplic-lightbox-description .mk-contact li,
.mapplic-popup .mk-contact li {
  margin: 0 0 4px 0 !important;
  padding: 0 !important;
  list-style: none !important;
  line-height: 1.3 !important;
}

.mapplic-tooltip-description .mk-contact li:last-child,
.mapplic-lightbox-description .mk-contact li:last-child,
.mapplic-popup .mk-contact li:last-child {
  margin-bottom: 0 !important;
}

.mapplic-tooltip-description .mk-contact a,
.mapplic-lightbox-description .mk-contact a,
.mapplic-popup .mk-contact a,
.mapplic-tooltip-description .mk-contact li,
.mapplic-lightbox-description .mk-contact li,
.mapplic-popup .mk-contact li {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  font-size: 16px !important;
  line-height: 1.35 !important;
  color: #000 !important;
  text-decoration: none !important;
  word-break: break-word;
}

.mapplic-tooltip-description .mk-contact a,
.mapplic-lightbox-description .mk-contact a,
.mapplic-popup .mk-contact a {
  text-decoration: none !important;
}

.mapplic-tooltip-description .mk-contact a:hover,
.mapplic-tooltip-description .mk-contact a:focus,
.mapplic-lightbox-description .mk-contact a:hover,
.mapplic-lightbox-description .mk-contact a:focus,
.mapplic-popup .mk-contact a:hover,
.mapplic-popup .mk-contact a:focus {
  text-decoration: none !important;
  color: #000 !important;
}

.mapplic-tooltip-description .mk-contact a img,
.mapplic-lightbox-description .mk-contact a img,
.mapplic-popup .mk-contact a img,
.mapplic-tooltip-description .mk-contact .mk-icon-spacer,
.mapplic-lightbox-description .mk-contact .mk-icon-spacer,
.mapplic-popup .mk-contact .mk-icon-spacer {
  width: 18px !important;
  height: 18px !important;
  flex: 0 0 18px !important;
  display: inline-block;
  object-fit: contain;
  vertical-align: middle;
}

/* ===== Tooltip number badge (extracted from "05. ..." titles) ===== */
.mapplic-tooltip-wrap .mk-num-badge,
.mapplic-lightbox .mk-num-badge,
.mapplic-popup .mk-num-badge {
  position: absolute !important;
  top: 14px !important;
  left: 14px !important;
  z-index: 5;
  width: 34px !important;
  height: 34px !important;
  min-width: 0 !important;
  padding: 0 !important;
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1.5px solid #000;
  border-radius: 50% !important;
  background: #fff;
  color: #000;
  font-size: 15px;
  font-weight: 700;
  line-height: 1;
  pointer-events: none;
  aspect-ratio: 1 / 1;
}

/* Slightly smaller font for 3-digit badges so they still fit the circle */
.mapplic-tooltip-wrap .mk-num-badge:not(:empty),
.mapplic-lightbox .mk-num-badge:not(:empty),
.mapplic-popup .mk-num-badge:not(:empty) {
  font-variant-numeric: tabular-nums;
}


.mapplic-tooltip-wrap {

    min-width: 300px !important;

}