/*
  IngSoft V84.59 — GeoVision IngSoft: módulo orbital inteligente DOI-ready.
  Implementa un globo 3D avanzado basado en CesiumJS + NASA GIBS con modo IngSoft,
  ubicado inmediatamente después del hero del Observatorio, sin espacio desperdiciado.
*/
html body.page-observatorio .observatorio-hero.v84-44-observatory-hero{
  padding-bottom:clamp(.55rem,1vw,.95rem)!important;
}
html body.page-observatorio #obsHeroOrbitalMapCard,
html body.page-observatorio #obsOrbitalMapSection{
  display:none!important;
}
html body.page-observatorio .obs-geovision-section{
  position:relative!important;
  margin-top:-1px!important;
  padding:clamp(.35rem,.75vw,.72rem) 0 clamp(1.5rem,2.4vw,2.2rem)!important;
  background:
    radial-gradient(circle at 15% 10%,rgba(32,216,255,.12),transparent 24%),
    radial-gradient(circle at 92% 24%,rgba(0,87,184,.18),transparent 30%),
    linear-gradient(180deg,#020A16 0%,#06152A 50%,#020A16 100%)!important;
  overflow:hidden!important;
  isolation:isolate!important;
}
html body.page-observatorio .obs-geovision-section::before{
  content:"";
  position:absolute!important;
  inset:0!important;
  background-image:linear-gradient(rgba(139,212,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(139,212,255,.055) 1px,transparent 1px)!important;
  background-size:44px 44px!important;
  mask-image:linear-gradient(180deg,rgba(0,0,0,.9),rgba(0,0,0,.35),transparent)!important;
  pointer-events:none!important;
  z-index:0!important;
}
html body.page-observatorio .obs-geovision-shell{
  position:relative!important;
  z-index:1!important;
  display:grid!important;
  grid-template-columns:minmax(0,1.4fr) minmax(340px,.72fr)!important;
  gap:clamp(1rem,1.7vw,1.45rem)!important;
  align-items:stretch!important;
}
html body.page-observatorio .obs-geovision-main,
html body.page-observatorio .obs-geovision-agent{
  border-radius:32px!important;
  border:1px solid rgba(139,212,255,.30)!important;
  background:linear-gradient(145deg,rgba(4,18,36,.94),rgba(7,31,59,.88))!important;
  box-shadow:0 34px 88px rgba(0,0,0,.40),0 0 54px rgba(34,216,255,.10),inset 0 1px 0 rgba(255,255,255,.045)!important;
  overflow:hidden!important;
}
html body.page-observatorio .obs-geovision-main{padding:clamp(1rem,1.5vw,1.35rem)!important;}
html body.page-observatorio .obs-geovision-agent{padding:clamp(1rem,1.45vw,1.25rem)!important;}
html body.page-observatorio .obs-geovision-head{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:.85rem!important;
  margin-bottom:.95rem!important;
}
html body.page-observatorio .obs-geovision-kicker{
  display:inline-flex!important;
  align-items:center!important;
  gap:.8rem!important;
  width:fit-content!important;
  padding:.55rem 1rem .55rem 1.65rem!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.96)!important;
  border:2px solid rgba(34,216,255,.82)!important;
  color:#06152A!important;
  -webkit-text-fill-color:#06152A!important;
  font-size:.78rem!important;
  line-height:1!important;
  font-weight:1000!important;
  letter-spacing:.16em!important;
  text-transform:uppercase!important;
  position:relative!important;
  box-shadow:0 14px 32px rgba(0,0,0,.24),0 0 20px rgba(34,216,255,.10)!important;
}
html body.page-observatorio .obs-geovision-kicker::before{
  content:"";
  position:absolute!important;
  left:.7rem!important;
  top:50%!important;
  width:38px!important;
  height:4px!important;
  border-radius:999px!important;
  transform:translateY(-50%)!important;
  background:#E12B2B!important;
  box-shadow:0 0 12px rgba(225,43,43,.26)!important;
}
html body.page-observatorio .obs-geovision-title{
  margin:.65rem 0 .3rem!important;
  color:#FFFFFF!important;
  -webkit-text-fill-color:#FFFFFF!important;
  font-size:clamp(1.9rem,3vw,3.55rem)!important;
  line-height:.96!important;
  font-weight:1000!important;
  letter-spacing:-.045em!important;
  text-shadow:0 16px 44px rgba(0,0,0,.44)!important;
}
html body.page-observatorio .obs-geovision-title span{
  color:#CFF5FF!important;
  -webkit-text-fill-color:#CFF5FF!important;
  text-shadow:0 0 28px rgba(34,216,255,.36)!important;
}
html body.page-observatorio .obs-geovision-lead{
  max-width:82ch!important;
  margin:0!important;
  color:#DCEFFF!important;
  -webkit-text-fill-color:#DCEFFF!important;
  font-size:clamp(.96rem,1.03vw,1.1rem)!important;
  line-height:1.55!important;
  font-weight:650!important;
}
html body.page-observatorio .obs-geovision-badge{
  display:inline-flex!important;
  align-items:center!important;
  gap:.45rem!important;
  padding:.55rem .78rem!important;
  border-radius:999px!important;
  background:linear-gradient(135deg,#FFC400 0%,#FFD21A 100%)!important;
  color:#06152A!important;
  -webkit-text-fill-color:#06152A!important;
  font-size:.73rem!important;
  line-height:1!important;
  font-weight:1000!important;
  letter-spacing:.12em!important;
  text-transform:uppercase!important;
  box-shadow:0 12px 28px rgba(255,196,0,.22)!important;
}
html body.page-observatorio .obs-geovision-stage{
  position:relative!important;
  min-height:clamp(420px,46vw,650px)!important;
  border-radius:28px!important;
  overflow:hidden!important;
  border:1px solid rgba(139,212,255,.32)!important;
  background:#041224!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 18px 46px rgba(0,0,0,.32)!important;
}
html body.page-observatorio #geovisionCesiumContainer{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  background:#041224!important;
}
html body.page-observatorio .geovision-fallback{
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  display:grid!important;
  place-items:center!important;
  background:#041224!important;
}
html body.page-observatorio .geovision-fallback img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  display:block!important;
  opacity:.88!important;
}
html body.page-observatorio .geovision-fallback[hidden]{display:none!important;}
html body.page-observatorio .obs-geovision-overlay{
  position:absolute!important;
  left:1rem!important;
  bottom:1rem!important;
  right:1rem!important;
  z-index:3!important;
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:.75rem!important;
  pointer-events:none!important;
}
html body.page-observatorio .obs-geovision-location-chip,
html body.page-observatorio .obs-geovision-status{
  pointer-events:auto!important;
  padding:.72rem .95rem!important;
  border-radius:18px!important;
  border:1px solid rgba(139,212,255,.28)!important;
  background:rgba(4,18,36,.86)!important;
  color:#FFFFFF!important;
  -webkit-text-fill-color:#FFFFFF!important;
  backdrop-filter:blur(12px)!important;
  box-shadow:0 16px 36px rgba(0,0,0,.32)!important;
}
html body.page-observatorio .obs-geovision-location-chip strong{
  display:block!important;
  font-size:1rem!important;
  line-height:1.15!important;
  font-weight:1000!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
  color:#FFFFFF!important;
}
html body.page-observatorio .obs-geovision-location-chip small,
html body.page-observatorio .obs-geovision-status{
  color:#BFE7FF!important;
  -webkit-text-fill-color:#BFE7FF!important;
  font-size:.82rem!important;
  line-height:1.35!important;
  font-weight:750!important;
}
html body.page-observatorio .obs-geovision-controls{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:.65rem!important;
  margin-top:.9rem!important;
}
html body.page-observatorio .obs-geovision-controls button,
html body.page-observatorio .obs-geovision-select{
  min-height:44px!important;
  border:1px solid rgba(139,212,255,.38)!important;
  border-radius:999px!important;
  background:linear-gradient(135deg,#0A74D8 0%,#22D8FF 100%)!important;
  color:#FFFFFF!important;
  -webkit-text-fill-color:#FFFFFF!important;
  font-size:.78rem!important;
  line-height:1.1!important;
  font-weight:1000!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
  cursor:pointer!important;
  box-shadow:0 13px 30px rgba(0,117,216,.24)!important;
}
html body.page-observatorio .obs-geovision-select{
  grid-column:1 / -1!important;
  padding:0 .92rem!important;
  background:#F6FBFF!important;
  color:#06152A!important;
  -webkit-text-fill-color:#06152A!important;
}
html body.page-observatorio .obs-geovision-controls button:hover,
html body.page-observatorio .obs-geovision-controls button:focus-visible{
  transform:translateY(-1px)!important;
  outline:3px solid rgba(255,196,0,.72)!important;
  outline-offset:3px!important;
}
html body.page-observatorio .obs-geovision-agent h3{
  margin:.65rem 0 .55rem!important;
  color:#FFFFFF!important;
  -webkit-text-fill-color:#FFFFFF!important;
  font-size:1.45rem!important;
  line-height:1.08!important;
  font-weight:1000!important;
}
html body.page-observatorio .obs-geovision-agent p,
html body.page-observatorio .obs-geovision-agent li{
  color:#DCEFFF!important;
  -webkit-text-fill-color:#DCEFFF!important;
  font-size:.95rem!important;
  line-height:1.52!important;
  font-weight:680!important;
}
html body.page-observatorio .obs-geovision-agent ul{margin:.85rem 0!important;padding-left:1.1rem!important;}
html body.page-observatorio .obs-geovision-metrics{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:.65rem!important;
  margin:1rem 0!important;
}
html body.page-observatorio .obs-geovision-metric{
  border-radius:18px!important;
  border:1px solid rgba(139,212,255,.22)!important;
  background:rgba(8,33,64,.64)!important;
  padding:.78rem .86rem!important;
}
html body.page-observatorio .obs-geovision-metric span{
  display:block!important;
  color:#79DFFF!important;
  -webkit-text-fill-color:#79DFFF!important;
  font-size:.72rem!important;
  line-height:1!important;
  font-weight:1000!important;
  letter-spacing:.13em!important;
  text-transform:uppercase!important;
  margin-bottom:.35rem!important;
}
html body.page-observatorio .obs-geovision-metric b{
  display:block!important;
  color:#FFFFFF!important;
  -webkit-text-fill-color:#FFFFFF!important;
  font-size:1rem!important;
  line-height:1.28!important;
  font-weight:950!important;
}
html body.page-observatorio .obs-geovision-notice{
  margin-top:.9rem!important;
  padding:.84rem .9rem!important;
  border-radius:18px!important;
  border:1px solid rgba(255,196,0,.38)!important;
  background:rgba(255,196,0,.10)!important;
  color:#FFF6D6!important;
  -webkit-text-fill-color:#FFF6D6!important;
  font-size:.86rem!important;
  line-height:1.45!important;
  font-weight:750!important;
}
html body.page-observatorio .cesium-viewer-bottom,
html body.page-observatorio .cesium-credit-lightbox-overlay{
  z-index:5!important;
}
html body.page-observatorio .cesium-widget-credits{
  font-size:10px!important;
}
@media (max-width:1180px){
  html body.page-observatorio .obs-geovision-shell{grid-template-columns:1fr!important;}
  html body.page-observatorio .obs-geovision-controls{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media (max-width:720px){
  html body.page-observatorio .obs-geovision-stage{min-height:360px!important;}
  html body.page-observatorio .obs-geovision-controls{grid-template-columns:1fr!important;}
  html body.page-observatorio .obs-geovision-overlay{position:relative!important;left:auto!important;right:auto!important;bottom:auto!important;margin-top:.75rem!important;}
}


/* -------------------------------------------------------------------------
   V84.59 — GeoVision híbrido: Cesium orbital + mapa local de calles.
   Corrección: el zoom local ya no fuerza imágenes satelitales hasta niveles
   donde se degradan; al entrar a Vista local se usa un mapa urbano OSM/Leaflet
   con calles, zoom alto, arrastre, acercar/alejar y marcador sincronizado.
------------------------------------------------------------------------- */
html body.page-observatorio .obs-geovision-section{
  padding-top:0!important;
}
html body.page-observatorio .observatorio-hero.v84-44-observatory-hero{
  padding-bottom:0!important;
}
html body.page-observatorio .obs-geovision-shell{
  margin-top:0!important;
}
html body.page-observatorio #geovisionLocalMap{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  min-height:100%!important;
  z-index:2!important;
  background:#071D3A!important;
  display:none!important;
}
html body.page-observatorio #geovisionLocalMap[hidden]{display:none!important;}
html body.page-observatorio .obs-geovision-stage.is-local-map #geovisionLocalMap{
  display:block!important;
}
html body.page-observatorio .obs-geovision-stage.is-local-map #geovisionCesiumContainer{
  opacity:0!important;
  pointer-events:none!important;
}
html body.page-observatorio .obs-geovision-stage.is-local-map .geovision-fallback{
  display:none!important;
}
html body.page-observatorio .obs-geovision-stage.is-local-map .obs-geovision-overlay{
  z-index:6!important;
}
html body.page-observatorio .geovision-local-badge{
  position:absolute!important;
  right:1rem!important;
  top:1rem!important;
  z-index:7!important;
  display:none!important;
  max-width:min(360px,calc(100% - 2rem))!important;
  padding:.62rem .82rem!important;
  border-radius:16px!important;
  border:1px solid rgba(139,212,255,.30)!important;
  background:rgba(4,18,36,.88)!important;
  color:#FFFFFF!important;
  -webkit-text-fill-color:#FFFFFF!important;
  font-size:.8rem!important;
  line-height:1.35!important;
  font-weight:850!important;
  box-shadow:0 16px 36px rgba(0,0,0,.32)!important;
  backdrop-filter:blur(12px)!important;
}
html body.page-observatorio .obs-geovision-stage.is-local-map .geovision-local-badge{
  display:block!important;
}
html body.page-observatorio .geovision-local-badge strong{
  color:#7DE7FF!important;
  -webkit-text-fill-color:#7DE7FF!important;
  display:block!important;
  font-weight:1000!important;
  letter-spacing:.09em!important;
  text-transform:uppercase!important;
  margin-bottom:.12rem!important;
}
html body.page-observatorio .leaflet-container{
  font-family:inherit!important;
  background:#071D3A!important;
}
html body.page-observatorio .leaflet-tile{
  filter:saturate(1.05) contrast(1.02)!important;
}
html body.page-observatorio .leaflet-control-zoom a{
  background:#06152A!important;
  color:#FFFFFF!important;
  border-color:rgba(139,212,255,.26)!important;
  font-weight:1000!important;
}
html body.page-observatorio .leaflet-control-zoom a:hover{
  background:#0A74D8!important;
  color:#FFFFFF!important;
}
html body.page-observatorio .leaflet-control-attribution{
  background:rgba(3,17,36,.74)!important;
  color:#DCEFFF!important;
  font-weight:700!important;
}
html body.page-observatorio .leaflet-control-attribution a{
  color:#7DE7FF!important;
}
html body.page-observatorio .geovision-local-popup{
  font-weight:850!important;
  color:#06152A!important;
}
html body.page-observatorio .obs-geovision-layer-note{
  grid-column:1 / -1!important;
  margin:-.2rem 0 .1rem!important;
  padding:.68rem .8rem!important;
  border-radius:16px!important;
  border:1px solid rgba(139,212,255,.20)!important;
  background:rgba(8,33,64,.52)!important;
  color:#DCEFFF!important;
  -webkit-text-fill-color:#DCEFFF!important;
  font-size:.84rem!important;
  line-height:1.42!important;
  font-weight:700!important;
}
html body.page-observatorio .obs-geovision-layer-note strong{
  color:#7DE7FF!important;
  -webkit-text-fill-color:#7DE7FF!important;
}
html body.page-observatorio .obs-geovision-metric--wide{
  border-color:rgba(255,196,0,.34)!important;
  background:rgba(255,196,0,.09)!important;
}
html body.page-observatorio .obs-geovision-metric--wide span{
  color:#FFE082!important;
  -webkit-text-fill-color:#FFE082!important;
}
@media (max-width:720px){
  html body.page-observatorio .geovision-local-badge{
    position:relative!important;
    top:auto!important;
    right:auto!important;
    margin:.7rem 0 0!important;
    max-width:100%!important;
  }
}


/* -------------------------------------------------------------------------
   V84.59 — Modo público profesional + GeoVision IngSoft 3D IA.
   Ajusta los rótulos públicos y presenta la opción propia como modo 3D analítico con agentes IA locales.
------------------------------------------------------------------------- */
html body.page-observatorio .obs-geovision-stage.is-ingsoft-ai .geovision-local-badge{
  display:block!important;
  border-color:rgba(255,196,0,.42)!important;
  background:linear-gradient(135deg,rgba(5,26,54,.92),rgba(12,50,86,.82))!important;
}
html body.page-observatorio .obs-geovision-stage.is-ingsoft-ai .geovision-local-badge strong{
  color:#FFE082!important;
  -webkit-text-fill-color:#FFE082!important;
}
html body.page-observatorio .obs-geovision-stage.is-ingsoft-ai::after{
  content:"Modo GeoVision IngSoft 3D IA";
  position:absolute!important;
  left:1rem!important;
  top:1rem!important;
  z-index:7!important;
  padding:.52rem .78rem!important;
  border-radius:999px!important;
  background:linear-gradient(135deg,#FFC400,#FFE082)!important;
  color:#06152A!important;
  -webkit-text-fill-color:#06152A!important;
  font-size:.74rem!important;
  font-weight:1000!important;
  letter-spacing:.11em!important;
  text-transform:uppercase!important;
  box-shadow:0 14px 30px rgba(255,196,0,.22)!important;
}
html body.page-observatorio .obs-geovision-layer-note{
  background:linear-gradient(135deg,rgba(8,33,64,.64),rgba(5,26,54,.74))!important;
}
