:root{
  --mpc-ivory:#f7f1e5;
  --mpc-ivory-strong:#fffaf0;
  --mpc-green:#173f31;
  --mpc-green-soft:#2c5a48;
  --mpc-gold:#b8945a;
  --mpc-sand:#d7c6a7;
  --mpc-water:#8db9c4;
  --mpc-night:#17211c;
  --mpc-night-panel:rgba(27,36,31,.94);
  --mpc-night-ink:#f4ead8;
  --mpc-ui-shadow:0 12px 36px rgba(17,35,27,.16);
}
html,body,#intentApp{max-width:100%;overflow:hidden}
#modePill{display:none!important}
.map-head{
  left:18px;
  right:18px;
  top:max(14px,env(safe-area-inset-top));
}
.brand{
  height:42px;
  border-radius:14px;
  background:rgba(250,246,237,.90);
  border-color:rgba(23,63,49,.13);
  box-shadow:0 8px 24px rgba(18,42,33,.09);
}
.command{
  width:min(440px,calc(100vw - 260px));
  height:42px;
  border-radius:14px;
  padding:0 14px;
  background:rgba(250,246,237,.88);
  border-color:rgba(23,63,49,.13);
  box-shadow:0 8px 26px rgba(18,42,33,.10);
}
.command-icon{font-size:19px}
.command-label{font-size:13px;color:#52635a}
.dock{
  bottom:max(12px,env(safe-area-inset-bottom));
  width:min(486px,calc(100vw - 28px));
  height:54px;
  padding:3px;
  border-radius:18px;
  background:rgba(250,246,237,.93);
  border-color:rgba(23,63,49,.13);
  box-shadow:0 12px 40px rgba(13,32,24,.16);
}
.dock button{
  min-height:46px;
  border-radius:14px;
}
.dock button>span{font-size:17px}
.dock button small{font-size:9.5px;letter-spacing:.01em}
.dock button.is-active{background:rgba(29,86,63,.09);color:var(--mpc-green)}
.sheet{
  bottom:calc(max(12px,env(safe-area-inset-bottom)) + 66px);
  background:rgba(250,246,237,.97);
  border-color:rgba(23,63,49,.13);
}
.mpc-theme-toggle{
  position:fixed;
  z-index:32;
  right:14px;
  top:calc(max(14px,env(safe-area-inset-top)) + 52px);
  display:grid;
  grid-template-columns:1fr 1fr;
  width:118px;
  height:34px;
  padding:3px;
  border:1px solid rgba(23,63,49,.15);
  border-radius:999px;
  background:rgba(250,246,237,.91);
  box-shadow:0 8px 24px rgba(18,42,33,.10);
  backdrop-filter:blur(16px);
}
.mpc-theme-toggle button{
  border:0;
  border-radius:999px;
  background:transparent;
  color:#53645a;
  font-size:10px;
  font-weight:820;
  letter-spacing:.04em;
  cursor:pointer;
}
.mpc-theme-toggle button[aria-pressed="true"]{
  background:var(--mpc-green);
  color:var(--mpc-ivory-strong);
}
.mpc-near-stay{
  position:fixed;
  z-index:27;
  left:50%;
  bottom:calc(max(12px,env(safe-area-inset-bottom)) + 66px);
  transform:translateX(-50%);
  width:min(620px,calc(100vw - 24px));
  pointer-events:none;
}
.mpc-near-stay[hidden]{display:none}
.mpc-near-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 6px 5px;
  pointer-events:none;
}
.mpc-near-head strong{
  font-family:Georgia,"Times New Roman",serif;
  font-size:13px;
  letter-spacing:.01em;
  color:var(--mpc-green);
  text-shadow:0 1px 0 rgba(255,255,255,.7);
}
.mpc-near-head span{
  font-size:9px;
  font-weight:760;
  color:#66746b;
}
.mpc-near-track{
  display:flex;
  gap:8px;
  overflow-x:auto;
  overflow-y:hidden;
  padding:1px 2px 3px;
  scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior-x:contain;
  touch-action:pan-x pan-y;
  pointer-events:auto;
}
.mpc-near-track::-webkit-scrollbar{display:none}
.mpc-near-card{
  flex:0 0 auto;
  width:146px;
  min-height:56px;
  border:1px solid rgba(23,63,49,.13);
  border-radius:16px;
  background:rgba(250,246,237,.94);
  box-shadow:0 8px 26px rgba(18,42,33,.11);
  color:var(--mpc-green);
  padding:9px 11px;
  text-align:left;
  cursor:pointer;
  backdrop-filter:blur(16px);
}
.mpc-near-card b{
  display:block;
  font-family:Georgia,"Times New Roman",serif;
  font-size:12px;
  line-height:1.12;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.mpc-near-card small{
  display:block;
  margin-top:4px;
  color:#66746b;
  font-size:9.5px;
  line-height:1.2;
}
.mpc-near-card.is-prompt{width:192px}
.mpc-selection-card{
  position:fixed;
  z-index:28;
  left:50%;
  bottom:calc(max(12px,env(safe-area-inset-bottom)) + 143px);
  transform:translateX(-50%);
  width:min(420px,calc(100vw - 28px));
  padding:12px 13px;
  border:1px solid rgba(23,63,49,.14);
  border-radius:18px;
  background:rgba(250,246,237,.97);
  box-shadow:0 14px 42px rgba(12,31,23,.18);
  backdrop-filter:blur(18px);
}
.mpc-selection-card[hidden]{display:none}
.mpc-selection-head{
  display:grid;
  grid-template-columns:1fr 34px;
  gap:8px;
  align-items:start;
}
.mpc-selection-card h2{
  margin:0;
  font-family:Georgia,"Times New Roman",serif;
  font-size:17px;
  line-height:1.15;
  color:var(--mpc-green);
}
.mpc-selection-distance{
  margin-top:4px;
  color:#5c6b62;
  font-size:11px;
  font-weight:720;
}
.mpc-selection-close{
  width:34px;
  height:34px;
  border:0;
  border-radius:11px;
  background:rgba(23,63,49,.07);
  color:var(--mpc-green);
  font-size:20px;
  cursor:pointer;
}
.mpc-selection-detail{
  margin:8px 0 0;
  color:#627067;
  font-size:11px;
  line-height:1.35;
}
.mpc-selection-actions{
  display:flex;
  gap:7px;
  margin-top:9px;
}
.mpc-selection-actions button,
.mpc-selection-actions a{
  min-height:38px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:0;
  border-radius:11px;
  padding:0 12px;
  text-decoration:none;
  font-size:11px;
  font-weight:790;
  cursor:pointer;
}
.mpc-selection-actions .mpc-primary{
  background:var(--mpc-green);
  color:var(--mpc-ivory-strong);
}
.mpc-selection-actions .mpc-secondary{
  background:rgba(23,63,49,.08);
  color:var(--mpc-green);
}
.mpc-map-marker{
  --marker-bg:var(--mpc-ivory-strong);
  --marker-fg:var(--mpc-green);
  --marker-ring:var(--mpc-gold);
  position:absolute;
  display:flex;
  align-items:center;
  justify-content:center;
  border:0;
  padding:0;
  cursor:pointer;
  filter:drop-shadow(0 5px 8px rgba(14,33,25,.22));
  background:transparent;
}
.mpc-map-marker:focus-visible{
  outline:3px solid #2d7c5a;
  outline-offset:4px;
  border-radius:999px;
}
.mpc-map-marker .mpc-marker-disc{
  width:34px;
  height:34px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50% 50% 50% 18%;
  transform:rotate(-45deg);
  background:var(--marker-bg);
  border:2px solid var(--marker-ring);
  box-shadow:inset 0 0 0 3px rgba(23,63,49,.08);
}
.mpc-map-marker .mpc-marker-glyph{
  width:20px;
  height:20px;
  display:flex;
  align-items:center;
  justify-content:center;
  transform:rotate(45deg);
  color:var(--marker-fg);
}
.mpc-map-marker svg{
  width:17px;
  height:17px;
  stroke:currentColor;
  fill:none;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.mpc-map-marker .mpc-marker-label{
  position:absolute;
  left:50%;
  top:39px;
  transform:translateX(-50%);
  width:max-content;
  max-width:190px;
  padding:4px 7px;
  border:1px solid rgba(23,63,49,.10);
  border-radius:9px;
  background:rgba(250,246,237,.92);
  box-shadow:0 4px 14px rgba(18,42,33,.10);
  color:var(--mpc-green);
  font-size:10px;
  font-weight:770;
  line-height:1.1;
  white-space:nowrap;
  pointer-events:none;
}
.mpc-map-marker[data-selected="true"] .mpc-marker-disc{
  transform:rotate(-45deg) scale(1.12);
  box-shadow:inset 0 0 0 3px rgba(23,63,49,.08),0 0 0 5px rgba(184,148,90,.20);
}
.mpc-map-marker--gate{z-index:8}
.mpc-map-marker--gate .mpc-marker-disc{
  width:38px;height:38px;
  background:var(--mpc-green);
  border-color:var(--mpc-gold);
}
.mpc-map-marker--gate .mpc-marker-glyph{color:var(--mpc-ivory-strong)}
.mpc-map-marker--gate .mpc-marker-label{
  font-family:Georgia,"Times New Roman",serif;
  font-size:10.5px;
}
.mpc-map-marker--business{z-index:6}
.mpc-map-marker--business[data-icon="shopping"] .mpc-marker-disc{
  border-radius:9px 9px 13px 13px;
  transform:none;
}
.mpc-map-marker--business[data-icon="shopping"] .mpc-marker-glyph{transform:none}
.mpc-map-marker--business[data-icon="view"] .mpc-marker-disc{border-color:#a77d49}
.mpc-map-marker--my-stay{z-index:11}
.mpc-map-marker--my-stay .mpc-marker-disc{
  width:44px;height:44px;
  background:var(--mpc-ivory-strong);
  border:3px solid var(--mpc-gold);
  box-shadow:inset 0 0 0 5px var(--mpc-green),0 0 0 7px rgba(247,241,229,.75),0 0 0 11px rgba(184,148,90,.17);
}
.mpc-map-marker--my-stay .mpc-marker-glyph{
  width:17px;height:17px;
  color:var(--mpc-ivory-strong);
}
.mpc-map-marker--my-stay .mpc-marker-label{
  top:47px;
  background:var(--mpc-green);
  color:var(--mpc-ivory-strong);
  border-color:rgba(255,255,255,.16);
  font-family:Georgia,"Times New Roman",serif;
  font-size:11px;
}
html[data-map-theme="night"]{
  color-scheme:dark;
}
html[data-map-theme="night"] .map-head .brand,
html[data-map-theme="night"] .command,
html[data-map-theme="night"] .dock,
html[data-map-theme="night"] .mpc-theme-toggle,
html[data-map-theme="night"] .mpc-near-card,
html[data-map-theme="night"] .mpc-selection-card{
  background:var(--mpc-night-panel);
  border-color:rgba(244,234,216,.13);
  color:var(--mpc-night-ink);
}
html[data-map-theme="night"] .brand,
html[data-map-theme="night"] .command-label,
html[data-map-theme="night"] .command,
html[data-map-theme="night"] .dock button,
html[data-map-theme="night"] .mpc-selection-card h2,
html[data-map-theme="night"] .mpc-selection-distance,
html[data-map-theme="night"] .mpc-selection-detail,
html[data-map-theme="night"] .mpc-near-head strong,
html[data-map-theme="night"] .mpc-near-head span,
html[data-map-theme="night"] .mpc-near-card,
html[data-map-theme="night"] .mpc-near-card small{
  color:var(--mpc-night-ink);
}
html[data-map-theme="night"] .dock button.is-active{
  background:rgba(244,234,216,.10);
  color:#f6ead4;
}
html[data-map-theme="night"] .mpc-theme-toggle button{color:#d8cdbb}
html[data-map-theme="night"] .mpc-theme-toggle button[aria-pressed="true"]{
  background:#efe2cb;color:#193529;
}
html[data-map-theme="night"] .mpc-selection-actions .mpc-secondary{
  background:rgba(244,234,216,.10);color:#f4ead8;
}
html[data-map-theme="night"] .mpc-map-marker{
  --marker-bg:#efe5d2;
  --marker-fg:#183b2d;
  --marker-ring:#b9955c;
}
html[data-map-theme="night"] .mpc-map-marker .mpc-marker-label{
  background:rgba(25,35,30,.94);
  color:#f4ead8;
  border-color:rgba(244,234,216,.14);
}
html[data-map-theme="night"] .mpc-map-marker--gate .mpc-marker-disc{
  background:#223c31;
}
.maplibregl-ctrl-bottom-right{
  bottom:164px;
  right:8px;
}
.maplibregl-ctrl-top-right{
  top:max(2px,env(safe-area-inset-top));
  right:2px;
}
@media(max-width:760px){
  .map-head{left:10px;right:10px;top:max(9px,env(safe-area-inset-top))}
  .brand{width:42px;height:42px}
  .command{left:52px;height:42px}
  .mpc-theme-toggle{
    top:calc(max(9px,env(safe-area-inset-top)) + 49px);
    right:10px;
    width:108px;
    height:32px;
  }
  .dock{
    width:calc(100vw - 16px);
    height:56px;
    bottom:max(8px,env(safe-area-inset-bottom));
    border-radius:18px;
  }
  .dock button{min-height:50px}
  .mpc-near-stay{
    bottom:calc(max(8px,env(safe-area-inset-bottom)) + 63px);
    width:calc(100vw - 16px);
  }
  .mpc-near-head{padding-bottom:4px}
  .mpc-near-card{
    width:132px;
    min-height:52px;
    padding:8px 9px;
    border-radius:14px;
  }
  .mpc-near-card.is-prompt{width:180px}
  .mpc-selection-card{
    bottom:calc(max(8px,env(safe-area-inset-bottom)) + 134px);
    width:calc(100vw - 20px);
    padding:11px 12px;
  }
  .mpc-selection-card h2{font-size:16px}
  .maplibregl-ctrl-bottom-right{bottom:158px}
}
@media(max-width:360px){
  .command-label{font-size:12px}
  .mpc-theme-toggle{width:100px}
  .mpc-near-card{width:124px}
  .mpc-selection-actions button,.mpc-selection-actions a{padding:0 10px}
}
@media(max-height:500px) and (orientation:landscape){
  .map-head{top:max(5px,env(safe-area-inset-top));left:7px;right:7px}
  .brand{width:40px;height:38px}
  .command{left:47px;height:38px}
  .mpc-theme-toggle{top:7px;right:7px;transform:translateY(44px);height:30px}
  .dock{bottom:5px;height:50px;width:min(460px,calc(100vw - 128px))}
  .dock button{min-height:44px}
  .mpc-near-stay{
    left:64px;
    bottom:58px;
    transform:none;
    width:min(500px,calc(100vw - 190px));
  }
  .mpc-near-head{display:none}
  .mpc-near-card{min-height:44px;padding:7px 9px}
  .mpc-selection-card{
    left:auto;
    right:8px;
    bottom:58px;
    transform:none;
    width:min(360px,calc(100vw - 150px));
  }
  .maplibregl-ctrl-bottom-right{bottom:58px}
  .sheet{bottom:58px;max-height:calc(100vh - 66px)}
}
@media(prefers-reduced-motion:reduce){
  .mpc-map-marker,.mpc-selection-card,.mpc-near-card{transition:none!important}
}


/* R2.9.4 map clarity */
.mpc-near-stay{
  display:none!important;
}
.mpc-selection-card{
  bottom:calc(max(12px,env(safe-area-inset-bottom)) + 66px);
}
.maplibregl-ctrl-bottom-right{
  bottom:78px;
}
.mpc-home-link{
  white-space:nowrap;
}
.mpc-home-link .brand-home-label{
  display:inline-flex;
  align-items:center;
  min-height:22px;
  margin-left:2px;
  padding:0 8px;
  border-radius:999px;
  background:rgba(23,63,49,.08);
  color:#355447;
  font-size:9px;
  font-weight:820;
  letter-spacing:.04em;
  text-transform:uppercase;
}
html[data-map-theme="night"] .mpc-home-link .brand-home-label{
  background:rgba(244,234,216,.10);
  color:#f1e6d2;
}
@media(max-width:760px){
  .brand.mpc-home-link{
    width:74px;
    padding:0 7px;
    gap:5px;
    justify-content:center;
  }
  .brand.mpc-home-link b{
    font-size:12px;
  }
  .brand.mpc-home-link span{
    display:none;
  }
  .brand.mpc-home-link .brand-home-label{
    display:inline-flex;
    margin-left:0;
    padding:0 6px;
    font-size:8px;
  }
  .command{
    left:84px;
  }
  .mpc-selection-card{
    bottom:calc(max(8px,env(safe-area-inset-bottom)) + 63px);
  }
  .maplibregl-ctrl-bottom-right{
    bottom:74px;
  }
}
@media(max-height:500px) and (orientation:landscape){
  .brand.mpc-home-link{
    width:70px;
    height:38px;
  }
  .command{
    left:80px;
  }
  .mpc-selection-card{
    bottom:58px;
  }
  .maplibregl-ctrl-bottom-right{
    bottom:58px;
  }
}


/* R2.9.6 — Marloth Park Map is the destination */
.mpc-map-marker[data-opening-priority="true"]{
  z-index:16!important;
}
.mpc-map-marker[data-opening-priority="true"] .mpc-marker-label{
  display:block!important;
  opacity:1!important;
  visibility:visible!important;
  font-weight:820;
  box-shadow:0 5px 16px rgba(18,42,33,.14);
}
html[data-map-theme="night"] .mpc-map-marker[data-opening-priority="true"] .mpc-marker-label{
  box-shadow:0 6px 18px rgba(0,0,0,.28);
}
@media(max-width:760px){
  .mpc-map-marker[data-opening-priority="true"] .mpc-marker-label{
    font-size:9.5px;
    padding:4px 6px;
    max-width:160px;
  }
}


/* R2.9.7 — exact visual anchor for every map marker */
.mpc-map-marker .mpc-marker-pinpoint{
  position:absolute;
  left:50%;
  bottom:-4px;
  width:8px;
  height:8px;
  transform:translateX(-50%);
  border-radius:50%;
  background:#173f31;
  border:2px solid #fffaf2;
  box-shadow:0 0 0 1px rgba(157,123,72,.78),0 2px 5px rgba(14,33,25,.22);
  z-index:4;
  pointer-events:none;
}
.mpc-map-marker--gate .mpc-marker-pinpoint{
  background:#b8945a;
  border-color:#173f31;
  box-shadow:0 0 0 2px rgba(250,246,237,.90),0 2px 5px rgba(14,33,25,.22);
}
.mpc-map-marker--my-stay .mpc-marker-pinpoint{
  width:9px;
  height:9px;
  bottom:-4.5px;
  background:#173f31;
  border-color:#fffaf2;
  box-shadow:0 0 0 2px rgba(184,148,90,.88),0 2px 6px rgba(14,33,25,.24);
}
html[data-map-theme="night"] .mpc-map-marker .mpc-marker-pinpoint{
  background:#f1e6d2;
  border-color:#173f31;
  box-shadow:0 0 0 1px rgba(184,148,90,.88),0 2px 6px rgba(0,0,0,.32);
}


/* R2.9.8 — preserve MapLibre geographic marker anchoring */
.mpc-map-marker.maplibregl-marker{
  position:absolute!important;
  top:0;
  left:0;
  margin:0;
  will-change:transform;
}


/* R2.10.1 — on-demand closest listings window for My Stay */
.mpc-near-stay[data-open="true"]{
  display:block!important;
  position:fixed;
  z-index:31;
  left:18px;
  bottom:84px;
  transform:none;
  width:min(370px,calc(100vw - 36px));
  padding:12px;
  border:1px solid rgba(23,63,49,.14);
  border-radius:18px;
  background:rgba(250,246,237,.97);
  box-shadow:0 16px 46px rgba(12,31,23,.20);
  backdrop-filter:blur(18px);
  pointer-events:auto;
}
.mpc-near-stay[data-open="false"],
.mpc-near-stay[hidden]{
  display:none!important;
}
.mpc-near-head{
  display:grid;
  grid-template-columns:1fr 34px;
  gap:10px;
  align-items:start;
  padding:0 0 9px;
  pointer-events:auto;
}
.mpc-near-head>div{
  min-width:0;
}
.mpc-near-head strong{
  display:block;
  font-size:16px;
  line-height:1.15;
  text-shadow:none;
}
.mpc-near-head-note{
  display:block;
  margin-top:3px;
  color:#66746b;
  font-size:9.5px;
  font-weight:720;
}
.mpc-near-close{
  width:34px;
  height:34px;
  border:0;
  border-radius:11px;
  background:rgba(23,63,49,.07);
  color:var(--mpc-green);
  font-size:20px;
  line-height:1;
  cursor:pointer;
}
.mpc-near-track{
  display:grid;
  gap:7px;
  overflow:visible;
  padding:0;
  pointer-events:auto;
}
.mpc-near-card{
  width:100%;
  min-height:48px;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
  border-radius:13px;
  padding:9px 10px;
  box-shadow:none;
  background:#fffaf2;
}
.mpc-near-card-main{
  min-width:0;
}
.mpc-near-card b{
  font-family:inherit;
  font-size:11px;
  line-height:1.2;
}
.mpc-near-card small{
  margin-top:3px;
  font-size:9px;
}
.mpc-near-distance{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:54px;
  padding:5px 7px;
  border-radius:999px;
  background:rgba(23,63,49,.07);
  color:var(--mpc-green);
  font-size:9.5px;
  font-weight:820;
  white-space:nowrap;
}
.mpc-near-empty{
  padding:12px;
  border-radius:13px;
  background:#fffaf2;
  color:#66746b;
  font-size:10px;
  line-height:1.35;
}
html[data-map-theme="night"] .mpc-near-stay[data-open="true"]{
  background:rgba(23,33,28,.97);
  border-color:rgba(241,230,210,.14);
}
html[data-map-theme="night"] .mpc-near-card,
html[data-map-theme="night"] .mpc-near-empty{
  background:#223229;
}
html[data-map-theme="night"] .mpc-near-head strong,
html[data-map-theme="night"] .mpc-near-card b,
html[data-map-theme="night"] .mpc-near-distance{
  color:#f1e6d2;
}
html[data-map-theme="night"] .mpc-near-close,
html[data-map-theme="night"] .mpc-near-distance{
  background:rgba(241,230,210,.10);
}
@media(max-width:760px){
  .mpc-near-stay[data-open="true"]{
    left:10px;
    right:10px;
    bottom:74px;
    width:auto;
    padding:10px;
    border-radius:16px;
  }
  .mpc-near-head{
    padding-bottom:8px;
  }
  .mpc-near-card{
    min-height:46px;
  }
}
@media(max-height:500px) and (orientation:landscape){
  .mpc-near-stay[data-open="true"]{
    left:10px;
    bottom:58px;
    width:min(330px,calc(100vw - 20px));
    max-height:calc(100vh - 126px);
    overflow:auto;
  }
}


/* R2.10.2 — opt-in live location */
.mpc-live-location{
  position:fixed;
  z-index:30;
  right:18px;
  bottom:168px;
  display:grid;
  justify-items:end;
  gap:7px;
  pointer-events:none;
}
.mpc-live-location-button{
  pointer-events:auto;
  min-height:42px;
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:0 12px;
  border:1px solid rgba(23,63,49,.16);
  border-radius:999px;
  background:rgba(250,246,237,.96);
  color:var(--mpc-green);
  box-shadow:0 8px 24px rgba(15,37,28,.16);
  backdrop-filter:blur(14px);
  font:800 10px/1 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  cursor:pointer;
}
.mpc-live-location-button:focus-visible{
  outline:3px solid rgba(184,148,90,.55);
  outline-offset:2px;
}
.mpc-live-location[data-state="active"] .mpc-live-location-button{
  background:var(--mpc-green);
  color:#fffaf2;
}
.mpc-live-location[data-state="starting"] .mpc-live-location-button{
  opacity:.82;
}
.mpc-live-location-icon{
  display:grid;
  place-items:center;
  width:20px;
  height:20px;
  border-radius:50%;
  background:rgba(23,63,49,.08);
  font-size:15px;
}
.mpc-live-location[data-state="active"] .mpc-live-location-icon{
  background:rgba(255,250,242,.16);
}
.mpc-live-location-status{
  pointer-events:none;
  max-width:220px;
  padding:7px 9px;
  border-radius:10px;
  background:rgba(23,63,49,.93);
  color:#fffaf2;
  box-shadow:0 8px 22px rgba(15,37,28,.16);
  font:700 9px/1.25 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  text-align:right;
}
.mpc-live-location-marker{
  position:absolute;
  width:24px;
  height:24px;
  border-radius:50%;
  pointer-events:none;
}
.mpc-live-location-pulse{
  position:absolute;
  inset:0;
  border-radius:50%;
  background:rgba(37,115,88,.24);
  animation:mpc-live-location-pulse 1.8s ease-out infinite;
}
.mpc-live-location-dot{
  position:absolute;
  left:50%;
  top:50%;
  width:12px;
  height:12px;
  transform:translate(-50%,-50%);
  border-radius:50%;
  background:#176b50;
  border:3px solid #fffaf2;
  box-shadow:0 0 0 2px rgba(23,107,80,.35),0 3px 9px rgba(13,40,31,.28);
}
@keyframes mpc-live-location-pulse{
  0%{transform:scale(.7);opacity:.85}
  70%,100%{transform:scale(1.8);opacity:0}
}
html[data-map-theme="night"] .mpc-live-location-button{
  background:rgba(23,33,28,.96);
  color:#f1e6d2;
  border-color:rgba(241,230,210,.14);
}
html[data-map-theme="night"] .mpc-live-location[data-state="active"] .mpc-live-location-button{
  background:#f1e6d2;
  color:#173f31;
}
html[data-map-theme="night"] .mpc-live-location-status{
  background:rgba(241,230,210,.94);
  color:#173f31;
}
@media(max-width:760px){
  .mpc-live-location{
    right:10px;
    bottom:148px;
  }
  .mpc-live-location-button{
    min-height:40px;
    padding:0 10px;
  }
  .mpc-live-location-label{
    max-width:78px;
  }
  .mpc-live-location-status{
    max-width:180px;
  }
}
@media(max-height:500px) and (orientation:landscape){
  .mpc-live-location{
    right:10px;
    bottom:110px;
  }
  .mpc-live-location-status{
    display:none;
  }
}
@media(prefers-reduced-motion:reduce){
  .mpc-live-location-pulse{
    animation:none;
    opacity:.38;
  }
}


/* R2.10.3 — keep Live location clear of MapLibre's right-side controls */
.mpc-live-location{
  right:82px!important;
}
@media(max-width:760px){
  .mpc-live-location{
    right:68px!important;
  }
}
@media(max-height:500px) and (orientation:landscape){
  .mpc-live-location{
    right:68px!important;
  }
}

/* Connected Marlothi tenant window */
.mpc-selection-companion{
  position:fixed;
  z-index:27;
  left:50%;
  bottom:calc(max(12px,env(safe-area-inset-bottom)) + 76px);
  transform:translateX(-50%);
  width:min(420px,calc(100vw - 28px));
  max-height:190px;
  overflow:auto;
  padding:10px 12px 11px;
  border:1px solid rgba(23,63,49,.14);
  border-top:0;
  border-radius:0 0 18px 18px;
  background:rgba(245,241,232,.98);
  box-shadow:0 16px 36px rgba(12,31,23,.14);
  backdrop-filter:blur(18px);
}
.mpc-selection-companion[hidden]{display:none!important}
body:has(.mpc-selection-companion:not([hidden])) .mpc-selection-card{
  bottom:calc(max(12px,env(safe-area-inset-bottom)) + 265px);
  border-radius:18px 18px 8px 8px;
}
.mpc-companion-head strong{
  display:block;
  color:var(--mpc-green);
  font-family:Georgia,"Times New Roman",serif;
  font-size:14px;
  line-height:1.15;
}
.mpc-companion-head small{
  display:block;
  margin-top:2px;
  color:#66746b;
  font-size:9px;
  font-weight:700;
}
.mpc-companion-list{
  display:grid;
  gap:6px;
  margin-top:8px;
}
.mpc-companion-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:9px;
  align-items:center;
  padding:8px 9px;
  border-radius:11px;
  background:#fffaf2;
}
.mpc-companion-row b{
  display:block;
  color:var(--mpc-green);
  font-size:10px;
  line-height:1.18;
}
.mpc-companion-row small{
  display:block;
  margin-top:2px;
  color:#6b766f;
  font-size:8.5px;
}
.mpc-companion-actions{
  display:flex;
  gap:5px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.mpc-companion-actions a{
  min-height:28px;
  display:inline-flex;
  align-items:center;
  padding:0 8px;
  border-radius:999px;
  background:rgba(23,63,49,.08);
  color:var(--mpc-green);
  text-decoration:none;
  font-size:8.5px;
  font-weight:800;
}
html[data-map-theme="night"] .mpc-selection-companion{
  background:rgba(25,36,30,.98);
  border-color:rgba(241,230,210,.12);
}
html[data-map-theme="night"] .mpc-companion-row{
  background:#223229;
}
html[data-map-theme="night"] .mpc-companion-head strong,
html[data-map-theme="night"] .mpc-companion-row b{
  color:#f1e6d2;
}
html[data-map-theme="night"] .mpc-companion-actions a{
  background:rgba(241,230,210,.10);
  color:#f1e6d2;
}

/* Nearest + highlight safari section */
.mpc-near-section-title{
  padding:2px 2px 4px;
}
.mpc-near-section-title b{
  display:block;
  color:var(--mpc-green);
  font-size:10px;
}
.mpc-near-section-title small{
  display:block;
  margin-top:2px;
  color:#6a776f;
  font-size:8.5px;
  line-height:1.25;
}
.mpc-near-highlight-title{
  margin-top:4px;
  padding-top:8px;
  border-top:1px solid rgba(23,63,49,.10);
}
.mpc-near-highlight-card{
  grid-template-columns:minmax(0,1fr) auto;
  cursor:default;
}
.mpc-near-highlight-actions{
  grid-column:1 / -1;
  display:flex;
  gap:5px;
  flex-wrap:wrap;
  margin-top:2px;
}
.mpc-near-highlight-actions a{
  min-height:28px;
  display:inline-flex;
  align-items:center;
  padding:0 9px;
  border-radius:999px;
  background:rgba(23,63,49,.08);
  color:var(--mpc-green);
  text-decoration:none;
  font-size:8.5px;
  font-weight:800;
}
.mpc-near-distance-unavailable{
  background:rgba(184,148,90,.12);
  color:#6f5834;
}
html[data-map-theme="night"] .mpc-near-section-title b,
html[data-map-theme="night"] .mpc-near-highlight-actions a{
  color:#f1e6d2;
}
html[data-map-theme="night"] .mpc-near-highlight-actions a{
  background:rgba(241,230,210,.10);
}

@media(max-width:760px){
  .mpc-selection-companion{
    left:10px;
    right:10px;
    bottom:70px;
    transform:none;
    width:auto;
    max-height:172px;
  }
  body:has(.mpc-selection-companion:not([hidden])) .mpc-selection-card{
    bottom:246px;
  }
}
@media(max-height:500px) and (orientation:landscape){
  .mpc-selection-companion{
    left:auto;
    right:10px;
    bottom:58px;
    width:min(330px,calc(100vw - 20px));
    max-height:150px;
    transform:none;
  }
  body:has(.mpc-selection-companion:not([hidden])) .mpc-selection-card{
    left:10px;
    bottom:58px;
    transform:none;
    width:min(330px,calc(100vw - 20px));
  }
}


/* R2.10.4 — Bush Centre highlight precinct icon */
.mpc-map-marker--highlight-precinct{
  z-index:18!important;
}
.mpc-map-marker--highlight-precinct .mpc-marker-disc{
  width:38px;
  height:38px;
  border-color:#173f31;
  background:linear-gradient(145deg,#f2d18a,#b8945a);
  color:#173f31;
  box-shadow:
    0 0 0 4px rgba(255,250,242,.92),
    0 0 0 7px rgba(184,148,90,.26),
    0 10px 24px rgba(20,42,33,.20);
}
.mpc-map-marker--highlight-precinct .mpc-marker-glyph{
  font-family:Georgia,"Times New Roman",serif;
  font-size:17px;
  font-weight:900;
  line-height:1;
}
.mpc-map-marker--highlight-precinct .mpc-marker-label{
  display:block!important;
  opacity:1!important;
  visibility:visible!important;
  border:1px solid rgba(184,148,90,.28);
  background:#fff8e9;
  color:#173f31;
  font-weight:900;
}
.mpc-map-marker--highlight-precinct .mpc-marker-pinpoint{
  background:#b8945a;
  border-color:#173f31;
  box-shadow:0 0 0 2px rgba(255,250,242,.94),0 2px 5px rgba(14,33,25,.22);
}
html[data-map-theme="night"] .mpc-map-marker--highlight-precinct .mpc-marker-disc{
  background:linear-gradient(145deg,#e7c77d,#9f7d43);
  color:#173f31;
  box-shadow:
    0 0 0 4px rgba(23,33,28,.94),
    0 0 0 7px rgba(231,199,125,.24),
    0 10px 24px rgba(0,0,0,.32);
}
html[data-map-theme="night"] .mpc-map-marker--highlight-precinct .mpc-marker-label{
  background:#213029;
  color:#f1e6d2;
  border-color:rgba(231,199,125,.28);
}

/* Slightly clearer precinct-panel distinction */
.mpc-selection-companion[data-precinct="bush-centre"]{
  border-color:rgba(184,148,90,.34);
  box-shadow:0 16px 38px rgba(12,31,23,.16),0 0 0 1px rgba(184,148,90,.08);
}
.mpc-selection-companion[data-precinct="bush-centre"] .mpc-companion-head strong::before{
  content:"★";
  display:inline-block;
  margin-right:6px;
  color:#b8945a;
  font-family:Georgia,"Times New Roman",serif;
}


/* R2.11.0 — activated Busy Bee transport campaign */
.mpc-transport-campaign{
  position:fixed;
  z-index:18;
  left:auto;
  right:18px;
  top:214px;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  pointer-events:none;
}
.mpc-transport-campaign[hidden]{display:none!important}
.mpc-transport-button{
  pointer-events:auto;
  min-height:44px;
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:0 12px;
  border:1px solid rgba(23,63,49,.18);
  border-radius:999px;
  background:rgba(255,248,233,.97);
  color:var(--mpc-green);
  box-shadow:0 10px 28px rgba(15,37,28,.16);
  backdrop-filter:blur(14px);
  cursor:pointer;
}
.mpc-transport-button>span{font-size:17px}
.mpc-transport-button strong{font-size:10px}
.mpc-transport-button small{
  display:inline-flex;
  align-items:center;
  min-height:22px;
  padding:0 7px;
  border-radius:999px;
  background:#b8945a;
  color:#fffaf2;
  font-size:7.8px;
  font-weight:900;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.mpc-transport-panel{
  pointer-events:auto;
  width:min(390px,calc(100vw - 36px));
  max-height:calc(100dvh - 250px);
  overflow:auto;
  margin-top:8px;
  padding:15px;
  border:2px solid rgba(184,148,90,.62);
  border-radius:20px;
  background:rgba(250,246,237,.98);
  color:var(--mpc-green);
  box-shadow:0 22px 58px rgba(12,31,23,.24);
  backdrop-filter:blur(18px);
}
.mpc-transport-panel[hidden]{display:none!important}
.mpc-transport-head{
  display:grid;
  grid-template-columns:minmax(0,1fr) 34px;
  gap:10px;
  align-items:start;
}
.mpc-transport-head>div{min-width:0}
.mpc-transport-commercial{
  display:inline-flex;
  min-height:24px;
  align-items:center;
  padding:0 8px;
  border-radius:999px;
  background:var(--mpc-green);
  color:#fffaf2;
  font-size:7.8px;
  font-weight:900;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.mpc-transport-head small{
  display:block;
  margin-top:4px;
  color:#7b6846;
  font-size:8.5px;
  font-weight:800;
}
.mpc-transport-close{
  width:34px;
  height:34px;
  border:0;
  border-radius:11px;
  background:rgba(23,63,49,.08);
  color:var(--mpc-green);
  font-size:20px;
  cursor:pointer;
}
.mpc-transport-panel h2{
  margin:13px 0 2px;
  font-family:Georgia,"Times New Roman",serif;
  font-size:18px;
}
.mpc-transport-panel h3{
  margin:4px 0 7px;
  font-size:13px;
  line-height:1.25;
}
.mpc-transport-panel>p{
  margin:0;
  color:#5f6c64;
  font-size:9.5px;
  line-height:1.45;
}
.mpc-transport-intents,.mpc-transport-actions{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-top:11px;
}
.mpc-transport-intents a,.mpc-transport-actions a{
  display:inline-flex;
  min-height:32px;
  align-items:center;
  padding:0 9px;
  border-radius:999px;
  text-decoration:none;
  font-size:8.5px;
  font-weight:850;
}
.mpc-transport-intents a{
  border:1px solid rgba(23,63,49,.16);
  background:#fffaf2;
  color:var(--mpc-green);
}
.mpc-transport-actions a{
  background:var(--mpc-green);
  color:#fffaf2;
}
.mpc-transport-arrival{
  width:100%;
  display:grid;
  gap:2px;
  margin-top:11px;
  padding:10px;
  border:0;
  border-radius:13px;
  background:#f1eadc;
  color:var(--mpc-green);
  text-align:left;
  cursor:pointer;
}
.mpc-transport-arrival strong{font-size:9.5px}
.mpc-transport-arrival span{font-size:8.5px;line-height:1.35;color:#687269}
.mpc-transport-disclosure{
  margin-top:11px!important;
  padding-top:10px;
  border-top:1px solid rgba(23,63,49,.12);
  font-size:8px!important;
}
.mpc-transport-location-note{
  margin-top:7px!important;
  font-size:7.8px!important;
}
html[data-map-theme="night"] .mpc-transport-button,
html[data-map-theme="night"] .mpc-transport-panel{
  background:rgba(24,35,29,.98);
  color:#f1e6d2;
  border-color:rgba(231,199,125,.42);
}
html[data-map-theme="night"] .mpc-transport-panel>p,
html[data-map-theme="night"] .mpc-transport-head small{
  color:#c7c2b8;
}
html[data-map-theme="night"] .mpc-transport-close{
  background:rgba(241,230,210,.10);
  color:#f1e6d2;
}
html[data-map-theme="night"] .mpc-transport-commercial,
html[data-map-theme="night"] .mpc-transport-actions a{
  background:#e4c579;
  color:#173f31;
}
html[data-map-theme="night"] .mpc-transport-intents a,
html[data-map-theme="night"] .mpc-transport-arrival{
  background:#223229;
  color:#f1e6d2;
  border-color:rgba(241,230,210,.12);
}
html[data-map-theme="night"] .mpc-transport-arrival span{color:#c7c2b8}
@media(max-width:760px){
  .mpc-transport-campaign{left:auto;right:10px;top:122px}
  .mpc-transport-button{min-height:40px;padding:0 10px}
  .mpc-transport-panel{
    width:min(360px,calc(100vw - 20px));
    max-height:calc(100dvh - 240px);
    padding:13px;
  }
}
@media(max-height:500px) and (orientation:landscape){
  .mpc-transport-campaign{left:auto;right:10px;top:64px}
  .mpc-transport-panel{
    width:min(340px,calc(100vw - 20px));
    max-height:calc(100dvh - 154px);
  }
}
/* R2.11.0 highlight restaurant map treatment — same visual family as Marlothi */
.mpc-map-marker--highlight-precinct[data-marker-name="Giraffe Pub & Grill"] .mpc-marker-label,
.mpc-map-marker--highlight-precinct[data-marker-name="Amazing Kruger View Restaurant"] .mpc-marker-label{
  border-color:rgba(184,148,90,.34);
  font-weight:900;
}

/* R2.13.0 My Stay category separation */
.mpc-near-category-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:8px 0 14px}.mpc-near-category-grid button{min-height:42px;border:1px solid rgba(255,255,255,.18);border-radius:12px;background:rgba(255,255,255,.06);color:inherit;font:inherit;font-weight:700;padding:8px 10px;text-align:left;cursor:pointer}.mpc-near-category-grid button:focus-visible{outline:2px solid currentColor;outline-offset:2px}@media(max-width:560px){.mpc-near-category-grid{grid-template-columns:1fr 1fr}}
