/* Expo Planit V799tp — one selected-stand card language; fixed centred 2D pointer + metadata parity.
   2D now mirrors the accepted 3D card proportions, typography, logo treatment,
   metadata rhythm, action row and diamond pointer. Placement mechanics remain
   2D-specific: above by default, below only when the top edge has no room. */
body:not(.expoPlanit3dActiveV799qm) #floatingLabel{
  box-sizing:border-box!important;
  position:absolute;
  z-index:69;
  width:max-content!important;
  min-width:0!important;
  max-width:min(250px,calc(100vw - 20px))!important;
  padding:9px 12px 10px!important;
  border:1px solid rgba(15,23,42,.14)!important;
  border-radius:13px!important;
  background:color-mix(in srgb,var(--surface,#ffffff) 96%,transparent)!important;
  color:var(--text,#111827)!important;
  box-shadow:0 8px 24px rgba(15,23,42,.18)!important;
  backdrop-filter:blur(8px)!important;
  -webkit-backdrop-filter:blur(8px)!important;
  pointer-events:auto!important;
  text-align:left!important;
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
  --expo-planit-card-pointer-x:50%;
  transition:none!important;
  will-change:left,top;
}

/* Use the same compact diamond pointer as 3D. The old long SVG pointer is
   deliberately retired for the selected card to remove directional visual noise. */
body:not(.expoPlanit3dActiveV799qm) #fpPointer{display:none!important;}
body:not(.expoPlanit3dActiveV799qm) #floatingLabel::after{
  content:""!important;
  position:absolute!important;
  left:50%!important;
  bottom:-7px!important;
  top:auto!important;
  width:12px!important;
  height:12px!important;
  transform:translateX(-50%) rotate(45deg)!important;
  border:0!important;
  border-right:1px solid rgba(15,23,42,.14)!important;
  border-bottom:1px solid rgba(15,23,42,.14)!important;
  background:color-mix(in srgb,var(--surface,#ffffff) 96%,transparent)!important;
  pointer-events:none!important;
}
body:not(.expoPlanit3dActiveV799qm) #floatingLabel[data-placement-side="below"]::after{
  top:-7px!important;
  bottom:auto!important;
  border-right:0!important;
  border-bottom:0!important;
  border-left:1px solid rgba(15,23,42,.14)!important;
  border-top:1px solid rgba(15,23,42,.14)!important;
}

#floatingLabel .floatingIdentityV799te{
  display:flex!important;
  width:max-content!important;
  max-width:100%!important;
  min-width:0!important;
  align-items:flex-start!important;
  justify-content:flex-start!important;
  gap:12px!important;
}
#floatingLabel .floatingIdentityCopyV799te{
  order:1!important;
  flex:0 1 auto!important;
  width:max-content!important;
  min-width:0!important;
  max-width:184px!important;
  padding-top:1px!important;
  text-align:left!important;
}
#floatingLabel .floatingIdentityV799te:has(.floatingLogoWrapV799te[hidden]) .floatingIdentityCopyV799te{
  max-width:226px!important;
}
#floatingLabel .floatingLogoWrapV799te{
  order:2!important;
  flex:0 0 44px!important;
  width:44px!important;
  height:44px!important;
  margin-right:1px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
  border-radius:8px!important;
  background:color-mix(in srgb,var(--border,#d1d5db) 20%,transparent)!important;
}
#floatingLabel .floatingLogoWrapV799te[hidden]{display:none!important;}
#floatingLabel .floatingLogoV799te{
  display:block!important;
  max-width:44px!important;
  max-height:44px!important;
  width:auto!important;
  height:auto!important;
  object-fit:contain!important;
  object-position:center!important;
}
#floatingLabel .floatingLogoWrapV799te.isLoadingV799te{background:transparent!important;}
#floatingLabel .floatingLogoWrapV799te.isLoadingV799te .floatingLogoV799te{visibility:hidden!important;}

body:not(.expoPlanit3dActiveV799qm) #floatingLabel #floatingStand{
  display:block!important;
  min-width:0!important;
  max-width:none!important;
  padding:0!important;
  margin:0!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  color:var(--accentText,#6b2a7b)!important;
  font-size:16px!important;
  line-height:1.05!important;
  font-weight:900!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
body:not(.expoPlanit3dActiveV799qm) #floatingLabel #floatingCompany{
  display:block!important;
  width:auto!important;
  min-width:0!important;
  max-width:100%!important;
  margin:4px 0 0!important;
  padding:0!important;
  color:var(--text,#111827)!important;
  font-size:12px!important;
  line-height:1.2!important;
  font-weight:780!important;
  white-space:normal!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
}
#floatingLabel .floatingMetaV799te{
  display:flex!important;
  width:max-content!important;
  max-width:100%!important;
  min-width:0!important;
  flex-wrap:wrap!important;
  align-items:baseline!important;
  gap:2px 0!important;
  margin-top:6px!important;
  color:var(--muted,#64748b)!important;
  white-space:normal!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
}
#floatingLabel .floatingMetaV799te > *{
  display:inline!important;
  margin:0!important;
  padding:0!important;
  max-width:100%!important;
  font-size:10px!important;
  line-height:1.15!important;
  font-weight:700!important;
  opacity:.82!important;
  color:var(--muted,#64748b)!important;
  letter-spacing:0!important;
  text-transform:none!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
}
#floatingLabel .floatingMetaV799te > *[hidden]{display:none!important;}
#floatingLabel .floatingMetaV799te > *:not([hidden]) + *:not([hidden])::before{
  content:" · ";white-space:pre;color:inherit;opacity:.8;
}

#floatingLabel .floatingActionsV799te{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  flex-wrap:nowrap!important;
  gap:6px!important;
  width:max-content!important;
  max-width:100%!important;
  margin:9px 0 0!important;
  padding:0!important;
  min-width:0!important;
  position:relative!important;
  z-index:2!important;
}
#floatingLabel .floatingActionsV799te:empty{display:none!important;margin:0!important;}
body:not(.expoPlanit3dActiveV799qm) #floatingLabel .floatingActionsV799te button,
body:not(.expoPlanit3dActiveV799qm) #floatingLabel .floatingActionsV799te .floatingLabelActionBtn{
  appearance:none!important;
  box-sizing:border-box!important;
  flex:0 0 auto!important;
  width:auto!important;
  min-width:0!important;
  max-width:100%!important;
  height:auto!important;
  min-height:30px!important;
  max-height:none!important;
  margin:0!important;
  padding:6px 12px!important;
  border:1px solid color-mix(in srgb,var(--accentText,#6b2a7b) 35%,var(--border,#d1d5db))!important;
  border-radius:999px!important;
  background:#fff!important;
  color:var(--accentText,#6b2a7b)!important;
  -webkit-text-fill-color:var(--accentText,#6b2a7b)!important;
  font:850 11px/1 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  white-space:nowrap!important;
  box-shadow:none!important;
}
body:not(.expoPlanit3dActiveV799qm) #floatingLabel .floatingActionsV799te button[hidden]{display:none!important;}
#floatingLabel .floatingActionsV799te #floatingVisitListBtn{min-width:94px!important;}
#floatingLabel .floatingActionsV799te #floatingDirectionsBtnV799ra{
  flex:0 0 36px!important;
  width:36px!important;
  min-width:36px!important;
  max-width:36px!important;
  padding:0!important;
  line-height:0!important;
}
#floatingLabel .floatingActionsV799te #floatingEnquiryBtn{flex:0 0 auto!important;width:auto!important;}
#floatingLabel .floatingStandRow.floatingActionsV799te{min-width:0!important;}
#floatingLabel .fpDirectionsLabelRowV799ra:empty{display:none!important;margin:0!important;}

/* Match the exact 3D label-size scale. Phone Small also suppresses the logo. */
html[data-expo-planit-label-size="small"] body:not(.touchscreenMode):not(.expoPlanit3dActiveV799qm) #floatingLabel{
  width:max-content!important;min-width:0!important;max-width:min(210px,calc(100vw - 18px))!important;padding:6px 8px 7px!important;
}
html[data-expo-planit-label-size="small"] body:not(.touchscreenMode) #floatingLabel .floatingLogoWrapV799te{display:none!important;}
html[data-expo-planit-label-size="small"] body:not(.touchscreenMode) #floatingLabel #floatingStand{font-size:11px!important;line-height:1.05!important;}
html[data-expo-planit-label-size="small"] body:not(.touchscreenMode) #floatingLabel #floatingCompany{font-size:10.5px!important;line-height:1.16!important;margin-top:3px!important;}
html[data-expo-planit-label-size="small"] body:not(.touchscreenMode) #floatingLabel .floatingMetaV799te > *{font-size:8.5px!important;}
html[data-expo-planit-label-size="small"] body:not(.touchscreenMode) #floatingLabel #floatingTypeV799te{display:none!important;}
html[data-expo-planit-label-size="small"] body:not(.touchscreenMode) #floatingLabel .floatingActionsV799te{margin-top:6px!important;gap:5px!important;}
html[data-expo-planit-label-size="small"] body:not(.touchscreenMode) #floatingLabel .floatingActionsV799te button{min-height:27px!important;padding:5px 8px!important;font-size:9.5px!important;}
html[data-expo-planit-label-size="small"] body:not(.touchscreenMode) #floatingLabel .floatingIdentityCopyV799te{max-width:194px!important;}

html[data-expo-planit-label-size="standard"] body:not(.touchscreenMode):not(.expoPlanit3dActiveV799qm) #floatingLabel{
  width:max-content!important;min-width:0!important;max-width:min(250px,calc(100vw - 18px))!important;padding:8px 10px 9px!important;
}
html[data-expo-planit-label-size="standard"] body:not(.touchscreenMode) #floatingLabel #floatingStand{font-size:13px!important;line-height:1.05!important;}
html[data-expo-planit-label-size="standard"] body:not(.touchscreenMode) #floatingLabel #floatingCompany{font-size:12.5px!important;line-height:1.18!important;}
html[data-expo-planit-label-size="standard"] body:not(.touchscreenMode) #floatingLabel .floatingMetaV799te > *{font-size:9.5px!important;}
html[data-expo-planit-label-size="standard"] body:not(.touchscreenMode) #floatingLabel .floatingActionsV799te button{min-height:30px!important;padding:6px 10px!important;font-size:10.5px!important;}

html[data-expo-planit-label-size="large"] body:not(.touchscreenMode):not(.expoPlanit3dActiveV799qm) #floatingLabel{
  width:max-content!important;min-width:0!important;max-width:min(280px,calc(100vw - 18px))!important;padding:10px 13px 11px!important;
}
html[data-expo-planit-label-size="large"] body:not(.touchscreenMode) #floatingLabel #floatingStand{font-size:16px!important;line-height:1.05!important;}
html[data-expo-planit-label-size="large"] body:not(.touchscreenMode) #floatingLabel #floatingCompany{font-size:15px!important;line-height:1.18!important;}
html[data-expo-planit-label-size="large"] body:not(.touchscreenMode) #floatingLabel .floatingMetaV799te > *{font-size:10.5px!important;}
html[data-expo-planit-label-size="large"] body:not(.touchscreenMode) #floatingLabel .floatingActionsV799te button{min-height:32px!important;padding:6px 11px!important;font-size:12px!important;}
html[data-expo-planit-label-size="large"] body:not(.touchscreenMode) #floatingLabel .floatingLogoWrapV799te{width:48px!important;height:48px!important;flex-basis:48px!important;}
html[data-expo-planit-label-size="large"] body:not(.touchscreenMode) #floatingLabel .floatingLogoV799te{max-width:48px!important;max-height:48px!important;}

/* V799tm 3D→2D handoff guard. The legacy 2D DOM is never exposed half-composed;
   it appears only after the shared card enhancer and authoritative placement have
   had a frame to settle. */
body.expoPlanit2dCardHandoffV799tk:not(.expoPlanit3dActiveV799qm) #floatingLabel{
  visibility:hidden!important;
  transition:none!important;
}


/* V799tr — plan-space anchor cleanup. Keep the floating plan navigator/overview
   preview above the selected card, especially on phone where both occupy the map. */
#zoomWrap > .platformPlanNavigator{ z-index:80 !important; }
