/* ==========================================================
   Portal Monagas — Cambios 10 / Correcciones visuales
   Hotfix de recortes, glow, asistente, soporte y responsive.
   Se carga al final para resolver conflictos de capas previas.
   ========================================================== */

/* Evita barras horizontales por glows/tilt sin cortar sombras internas. */
html,body{max-width:100%;overflow-x:clip}
@supports not (overflow:clip){html,body{overflow-x:hidden}}
main,.container{min-width:0}
.grid-5,.grid-4,.grid-3,.grid-2,.secretarias-grid,.sistemas-grid,.direction-list,
.home-gallery-strip,.service-list,.detail-grid,.support-tracking-grid{
  overflow:visible!important;
}

/* Los contenedores institucionales no deben cortar elevaciones/neón. */
.secretarias-box,.direccion-box,.institutional-toolbar{
  overflow:visible!important;
}

/* En móvil el scale de las tarjetas podía tocar/cortar el borde del viewport. */
@media(max-width:680px){
  .neon-tilt:hover,
  .card:hover,.secretaria-card:hover,.direction-item:hover,.system-card:hover,
  .sistema-card:hover,.featured-news-card:hover,.home-gallery-item:hover,
  .info-item:hover,.system-row:hover,.service-item:hover{
    transform:translateY(-4px)!important;
  }
}

/* ==========================================================
   Asistente flotante: PNG realmente flotante, sin caja visible.
   ========================================================== */
#chatAssistant .chat-btn{
  -webkit-appearance:none!important;
  appearance:none!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  overflow:visible!important;
  outline:none;
  isolation:isolate;
}
#chatAssistant .chat-btn::after{display:none!important;content:none!important}
#chatAssistant .chat-btn::before{
  content:"";
  position:absolute;
  z-index:-1;
  left:12%;right:12%;top:12%;bottom:10%;
  border-radius:50%;
  pointer-events:none;
  opacity:.36;
  background:radial-gradient(circle,rgba(116,193,235,.22) 0,rgba(19,120,185,.10) 42%,transparent 72%);
  filter:blur(10px);
  transform:scale(.88);
  transition:opacity .24s ease,transform .3s cubic-bezier(.16,1,.3,1);
}
#chatAssistant .chat-btn img{
  display:block!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  object-fit:contain!important;
  filter:
    drop-shadow(0 10px 10px rgba(7,48,78,.22))
    drop-shadow(0 0 8px rgba(116,193,235,.28))!important;
  transition:filter .28s ease,transform .28s cubic-bezier(.16,1,.3,1)!important;
}
#chatAssistant .chat-btn:hover::before,
#chatAssistant .chat-btn:focus-visible::before{opacity:.68;transform:scale(1.03)}
#chatAssistant .chat-btn:hover img,
#chatAssistant .chat-btn:focus-visible img{
  filter:
    drop-shadow(0 13px 12px rgba(7,48,78,.28))
    drop-shadow(0 0 12px rgba(116,193,235,.52))
    drop-shadow(0 0 20px rgba(72,185,135,.22))!important;
}
#chatAssistant .chat-btn:focus-visible{
  outline:0!important;
}

/* Ventana del asistente: evita recortes del glow y mantiene contenido contenido. */
#chatAssistant .chat-window{
  contain:layout paint;
  overflow:hidden!important;
}
#chatAssistant .chat-head img{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  object-fit:contain!important;
}

/* ==========================================================
   Soporte técnico: geometría estable y sin recortes.
   ========================================================== */
.support-hero-card{
  overflow:visible!important;
  isolation:isolate;
}
.support-robot{
  overflow:visible!important;
  min-width:0;
  aspect-ratio:1 / 1;
  min-height:0!important;
  border-radius:32px!important;
  box-shadow:0 18px 46px rgba(16,70,107,.13),0 0 0 1px rgba(116,193,235,.16)!important;
}
.support-robot img{
  width:auto!important;
  height:min(270px,82%)!important;
  max-width:80%!important;
  max-height:82%!important;
  object-fit:contain!important;
  background:transparent!important;
  border:0!important;
  filter:drop-shadow(0 14px 18px rgba(9,52,82,.18))!important;
}
.service-item.neon-tilt:hover{
  transform:translateY(-7px)!important;
}
.service-item{
  position:relative;
  min-height:142px;
}
.service-item i{align-self:flex-start}
#formulario-soporte .form{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
#formulario-soporte .form > label,
#formulario-soporte .form > .full{width:100%;max-width:100%}
#formulario-soporte input,
#formulario-soporte select,
#formulario-soporte textarea{
  box-sizing:border-box!important;
}
#formulario-soporte input[type="file"]{
  overflow:hidden;
  text-overflow:ellipsis;
}
#formulario-soporte .privacy-consent{
  display:flex!important;
  grid-template-columns:none!important;
  width:100%;
}
#formulario-soporte .privacy-consent span{min-width:0;overflow-wrap:anywhere}

@media(max-width:980px){
  .support-robot{width:min(320px,100%);aspect-ratio:1/1}
  #formulario-soporte .form{grid-template-columns:1fr!important}
}
@media(max-width:680px){
  .support-robot{width:min(270px,100%)}
  .support-robot img{height:min(225px,82%)!important}
  .service-item{min-height:0}
}

/* ==========================================================
   Botones: centra texto/icono, mantiene contraste y evita cortes.
   ========================================================== */
.btn,.card-link,.header-access,.chat-suggestion,
.form button,.search-row button{
  display:inline-flex;
  align-items:center!important;
  justify-content:center!important;
  gap:8px;
  text-align:center!important;
  vertical-align:middle;
  line-height:1.25!important;
  white-space:normal;
}
.btn-primary,.header-access,
button.btn-primary,a.btn-primary{
  color:#fff!important;
}
.btn-primary i,.header-access i,
button.btn-primary i,a.btn-primary i{color:#fff!important}

/* El ripple se recorta dentro del botón, pero el glow exterior no debe crear cajas raras. */
.btn,.card-link,.chat-suggestion,.top-link{border-clip:padding-box}

/* Textos largos y títulos no deben salir de sus contenedores. */
.card,.secretaria-card,.direction-item,.system-card,.sistema-card,.service-item,
.page-box,.search-panel,.chat-window{
  min-width:0;
}
.card h2,.card h3,.secretaria-card h3,.direction-item h3,.system-card h3,
.sistema-card h3,.page-box h1,.page-box h2,.service-item strong,
.card p,.service-item p{
  overflow-wrap:anywhere;
  word-break:normal;
}

/* Imágenes generales: nunca se deforman por reglas heredadas. */
img{max-width:100%}
.system-thumbnail img,.img-card img,.footer-logo,.brand img,
.chat-btn img,.chat-head img,.support-robot img{
  object-position:center!important;
}

/* Evita que el barrido neón genere overflow visual en secciones pequeñas. */
.neon-section-sweep{max-width:92%;pointer-events:none}

/* Accesibilidad: no se elimina el foco; en el bot se representa con glow del PNG. */
@media(prefers-reduced-motion:reduce){
  #chatAssistant .chat-btn::before{transition:none!important}
  #chatAssistant .chat-btn img{transition:none!important}
}
