/* Igraland 1.4.797 - identical low-contrast cartography to category map.
   Scope every selector to the profile only; do not alter map styles sitewide. */
.iglp-profile-map {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  background: #f7fafd;
  font-family: "Google Sans Flex", Arial, sans-serif;
  isolation: isolate;
}
.iglp-profile-map .iglp-map-canvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.iglp-profile-map .maplibregl-map,
.iglp-profile-map .maplibregl-canvas-container,
.iglp-profile-map .maplibregl-canvas { width: 100%; height: 100%; }
.iglp-profile-map .iglp-map-loading {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 9;
  padding: 8px 12px;
  margin: 0;
  transform: translate(-50%, -50%);
  border: 1px solid #e0eaf0;
  border-radius: 999px;
  background: rgba(255,255,255,.92);
  color: #526675;
  font-size: 12px;
  font-weight: 580;
  white-space: nowrap;
  pointer-events: none;
  transition: opacity .2s ease;
}
.iglp-profile-map.is-ready .iglp-map-loading { opacity: 0; visibility: hidden; }
.iglp-profile-map.is-error .iglp-map-loading { opacity: 1; visibility: visible; }
.iglp-profile-map .iglp-map-controls {
  position: absolute;
  z-index: 5;
  top: 10px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  pointer-events: none;
  opacity: 0;
  transition: opacity .2s ease;
}
.iglp-profile-map.is-ready .iglp-map-controls { opacity: 1; pointer-events: auto; }
.iglp-profile-map .iglp-map-left { left: 10px; }
.iglp-profile-map .iglp-map-right { right: 10px; }
.iglp-profile-map .iglp-map-control {
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  padding: 0;
  border: 1px solid #dce5ea;
  border-radius: 11px;
  background: rgba(255,255,255,.97);
  box-shadow: 0 3px 13px rgba(28,49,62,.11);
  color: #29363f;
  font-family: inherit;
  font-size: 22px;
  font-weight: 700;
  line-height: 1;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}
.iglp-profile-map .iglp-map-control:hover { background: #f6fafd; }
.iglp-profile-map .iglp-map-control:focus-visible {
  outline: 3px solid #95d7fa;
  outline-offset: 2px;
}
.iglp-profile-map .iglp-map-control:disabled { color: #a5b1ba; cursor: default; }
.iglp-profile-map .iglp-map-control svg {
  display: block;
  width: 19px;
  height: 19px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.iglp-profile-map .iglp-icon-collapse { display: none !important; }
.iglp-profile-map:fullscreen .iglp-icon-expand { display: none !important; }
.iglp-profile-map:fullscreen .iglp-icon-collapse { display: block !important; }
.iglp-profile-map .iglp-map-zoom {
  border: 1px solid #dce5ea;
  border-radius: 11px;
  background: #fff;
  overflow: hidden;
  box-shadow: 0 3px 13px rgba(28,49,62,.11);
}
.iglp-profile-map .iglp-map-zoom .iglp-map-control {
  width: 36px;
  height: 35px;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  background: transparent;
}
.iglp-profile-map .iglp-map-zoom .iglp-map-control + .iglp-map-control { border-top: 1px solid #e3eaf0; }
.iglp-profile-map .iglp-map-pin {
  display: block;
  width: 33px;
  height: 42px;
  pointer-events: auto;
  cursor: default;
  filter: drop-shadow(0 2px 3px rgba(27,69,97,.10));
}
.iglp-profile-map .iglp-map-pin svg { display: block; width: 100%; height: 100%; }
.iglp-profile-map .iglp-map-error-link[hidden] { display: none !important; }
.iglp-profile-map.is-error .iglp-map-error-link:not([hidden]) {
  position: absolute;
  z-index: 10;
  left: 50%;
  bottom: 25px;
  transform: translateX(-50%);
  padding: 6px 12px;
  border-radius: 999px;
  background: #fff;
  color: #008ee8;
  font-size: 12px;
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
}
/* Attribution matches categories: understated text along the bottom edge,
   with original source and licence links available in MapLibre's control. */
.iglp-profile-map .maplibregl-ctrl-bottom-right { right: 2px; bottom: 0; }
.iglp-profile-map .iglp-map-source-credit {
  position: absolute;
  z-index: 4;
  right: 28px;
  bottom: 6px;
  padding: 0;
  margin: 0;
  color: #59666f;
  background: transparent;
  font: 400 10.5px/14px Arial, sans-serif;
  text-align: right;
  white-space: nowrap;
  text-shadow: none;
}
.iglp-profile-map .iglp-map-source-credit a {
  color: inherit;
  font: inherit;
  text-decoration: none;
}
.iglp-profile-map .iglp-map-source-credit a:hover,
.iglp-profile-map .iglp-map-source-credit a:focus-visible { text-decoration: underline; text-underline-offset: 2px; }
.iglp-profile-map .maplibregl-ctrl-attrib.iglp-map-attrib {
  position: relative !important;
  display: block !important;
  box-sizing: border-box !important;
  width: 24px !important;
  min-width: 24px !important;
  max-width: 24px !important;
  height: 24px !important;
  min-height: 24px !important;
  padding: 0 !important;
  margin: 0 2px 0 0 !important;
  overflow: visible !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.iglp-profile-map .maplibregl-ctrl-attrib.iglp-map-attrib .maplibregl-ctrl-attrib-button {
  position: absolute !important;
  top: 0 !important;
  right: 0 !important;
  bottom: auto !important;
  left: auto !important;
  display: grid !important;
  box-sizing: border-box !important;
  place-items: center;
  width: 24px !important;
  min-width: 24px !important;
  height: 24px !important;
  min-height: 24px !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 50%;
  background: none !important;
  color: #65717a;
  cursor: pointer;
  list-style: none !important;
}
.iglp-profile-map .maplibregl-ctrl-attrib.iglp-map-attrib .maplibregl-ctrl-attrib-button::marker { content: ''; }
.iglp-profile-map .maplibregl-ctrl-attrib.iglp-map-attrib .maplibregl-ctrl-attrib-button::-webkit-details-marker { display: none; }
.iglp-profile-map .maplibregl-ctrl-attrib.iglp-map-attrib .maplibregl-ctrl-attrib-button::before {
  content: 'i';
  display: grid;
  place-items: center;
  width: 15px;
  height: 15px;
  box-sizing: border-box;
  border: 1px solid #8a969f;
  border-radius: 50%;
  color: #64727b;
  background: rgba(255,255,255,.42);
  font: 700 10px/1 Arial, sans-serif;
}
.iglp-profile-map .maplibregl-ctrl-attrib.iglp-map-attrib .maplibregl-ctrl-attrib-button:focus-visible {
  outline: 2px solid #718391;
  outline-offset: 2px;
}
.iglp-profile-map .maplibregl-ctrl-attrib.iglp-map-attrib .maplibregl-ctrl-attrib-inner {
  display: none !important;
  position: absolute !important;
  z-index: 11;
  right: 0 !important;
  bottom: calc(100% + 9px) !important;
  box-sizing: border-box;
  min-width: 178px;
  max-width: min(290px, calc(100vw - 35px));
  max-height: min(150px, 32dvh);
  padding: 8px 11px !important;
  overflow: auto;
  border: 1px solid #e5eaed;
  border-radius: 10px;
  background: rgba(255,255,255,.98);
  box-shadow: 0 7px 22px rgba(25,46,59,.12);
  color: #54636c;
  font: 500 11px/1.6 "Google Sans Flex", Arial, sans-serif;
  text-align: left;
  white-space: normal;
  overflow-wrap: anywhere;
}
.iglp-profile-map .maplibregl-ctrl-attrib.iglp-map-attrib.maplibregl-compact-show .maplibregl-ctrl-attrib-inner { display: block !important; }
.iglp-profile-map .maplibregl-ctrl-attrib.iglp-map-attrib .maplibregl-ctrl-attrib-inner a {
  color: #344f62;
  font-size: inherit;
  text-decoration: underline;
  text-decoration-color: #bac5ce;
  text-underline-offset: 2px;
}
.iglp-profile-map:fullscreen {
  position: fixed;
  inset: 0;
  width: 100vw;
  height: 100dvh;
  border: 0;
  border-radius: 0;
}
@media (max-width: 620px) {
  .iglp-profile-map .iglp-map-controls { top: 8px; gap: 6px; }
  .iglp-profile-map .iglp-map-left { left: 8px; }
  .iglp-profile-map .iglp-map-right { right: 8px; }
  .iglp-profile-map .iglp-map-control { width: 34px; height: 34px; border-radius: 10px; }
  .iglp-profile-map .iglp-map-zoom .iglp-map-control { width: 34px; height: 33px; }
  .iglp-profile-map .iglp-map-source-credit { font-size: 10.5px; }
}
@media (prefers-reduced-motion: reduce) {
  .iglp-profile-map .iglp-map-loading, .iglp-profile-map .iglp-map-controls { transition: none; }
}
