/* ============================================================
   CALENDARIO DE EVENTOS — ESE Hospital San José del Guaviare
   Todas las reglas están ancladas a #calendario-eventos-hsg
   y usan el prefijo ceh- para no chocar con el CSS del sitio.
   ============================================================ */

#calendario-eventos-hsg{
  --ceh-azul-oscuro:#0d3b52;
  --ceh-azul:#1a6b8f;
  --ceh-azul-claro:#e4f0f5;
  --ceh-verde-salud:#2e8b6f;
  --ceh-arena:#f7f5f0;
  --ceh-texto:#1f2a2e;
  --ceh-texto-suave:#5c6b70;
  --ceh-borde:#d8dfe1;
  --ceh-blanco:#ffffff;
  --ceh-rojo-alerta:#c0432f;

  font-family:'Segoe UI',Tahoma,Geneva,Verdana,sans-serif;
  color:var(--ceh-texto);
  max-width:1100px;
  margin:0 auto;
}
#calendario-eventos-hsg *{ box-sizing:border-box; }

#calendario-eventos-hsg .ceh-contenedor{
  background:var(--ceh-blanco);
  border:1px solid var(--ceh-borde);
  border-radius:10px;
  overflow:hidden;
}
#calendario-eventos-hsg .ceh-cabecera{
  background:var(--ceh-azul-oscuro);
  color:var(--ceh-blanco);
  padding:20px 24px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  flex-wrap:wrap;
  gap:12px;
}
#calendario-eventos-hsg .ceh-cabecera h2{
  margin:0;
  font-size:1.3rem;
  font-weight:600;
  color:var(--ceh-blanco);
}
#calendario-eventos-hsg .ceh-navegacion{
  display:flex;
  align-items:center;
  gap:14px;
}
#calendario-eventos-hsg .ceh-navegacion button{
  background:var(--ceh-azul);
  border:none;
  color:var(--ceh-blanco);
  width:34px;
  height:34px;
  border-radius:6px;
  font-size:1rem;
  cursor:pointer;
  transition:background .15s ease;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0;
}
#calendario-eventos-hsg .ceh-navegacion button:hover{ background:var(--ceh-verde-salud); }
#calendario-eventos-hsg .ceh-navegacion button svg{ width:16px; height:16px; }
#calendario-eventos-hsg .ceh-navegacion span{
  min-width:170px;
  text-align:center;
  font-weight:600;
  font-size:1.05rem;
  text-transform:capitalize;
  color:var(--ceh-blanco);
}
#calendario-eventos-hsg .ceh-rejilla-dias{
  display:grid;
  grid-template-columns:repeat(7,1fr);
  background:var(--ceh-azul-claro);
  border-bottom:1px solid var(--ceh-borde);
}
#calendario-eventos-hsg .ceh-rejilla-dias div{
  padding:10px 4px;
  text-align:center;
  font-size:.78rem;
  font-weight:600;
  color:var(--ceh-azul-oscuro);
  text-transform:uppercase;
  letter-spacing:.03em;
}
#calendario-eventos-hsg .ceh-rejilla-fechas{
  display:grid;
  grid-template-columns:repeat(7,1fr);
}
#calendario-eventos-hsg .ceh-celda{
  min-height:96px;
  border-right:1px solid var(--ceh-borde);
  border-bottom:1px solid var(--ceh-borde);
  padding:6px;
  position:relative;
  background:var(--ceh-blanco);
}
#calendario-eventos-hsg .ceh-celda:nth-child(7n){ border-right:none; }
#calendario-eventos-hsg .ceh-celda.ceh-fuera-de-mes{ background:#fafafa; }
#calendario-eventos-hsg .ceh-celda.ceh-fuera-de-mes .ceh-numero{ color:#c3c9cb; }
#calendario-eventos-hsg .ceh-celda.ceh-hoy{ background:#fff8ec; }
#calendario-eventos-hsg .ceh-celda.ceh-hoy .ceh-numero{
  background:var(--ceh-rojo-alerta);
  color:var(--ceh-blanco);
  border-radius:50%;
}
#calendario-eventos-hsg .ceh-numero{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:22px;
  height:22px;
  font-size:.82rem;
  font-weight:600;
  color:var(--ceh-texto);
}
#calendario-eventos-hsg .ceh-evento{
  margin-top:4px;
  background:var(--ceh-azul);
  color:var(--ceh-blanco);
  font-size:.7rem;
  line-height:1.25;
  padding:3px 5px;
  border-radius:4px;
  cursor:pointer;
  overflow:hidden;
  text-overflow:ellipsis;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
}
#calendario-eventos-hsg .ceh-evento:hover{ filter:brightness(1.1); }
#calendario-eventos-hsg .ceh-pie{
  padding:16px 24px;
  background:var(--ceh-azul-claro);
  font-size:.8rem;
  color:var(--ceh-texto-suave);
}
#calendario-eventos-hsg .ceh-pie code{
  background:rgba(13,59,82,.08);
  padding:1px 5px;
  border-radius:4px;
}

/* Modal de detalle */
#calendario-eventos-hsg .ceh-fondo-modal{
  display:flex;
  position:fixed;
  inset:0;
  background:rgba(13,59,82,0);
  align-items:center;
  justify-content:center;
  padding:20px;
  z-index:1000;
  pointer-events:none;
  transition:background .22s ease;
}
#calendario-eventos-hsg .ceh-fondo-modal.ceh-activo{
  background:rgba(13,59,82,.5);
  pointer-events:auto;
}
#calendario-eventos-hsg .ceh-modal{
  background:var(--ceh-blanco);
  border-radius:12px;
  max-width:440px;
  width:100%;
  padding:0;
  position:relative;
  box-shadow:0 18px 40px rgba(13,59,82,.25);
  opacity:0;
  transform:translateY(14px) scale(.97);
  transition:opacity .22s ease, transform .22s ease;
}
#calendario-eventos-hsg .ceh-fondo-modal.ceh-activo .ceh-modal{
  opacity:1;
  transform:translateY(0) scale(1);
}
#calendario-eventos-hsg .ceh-modal .ceh-franja-color{
  height:6px;
  width:100%;
  border-radius:12px 12px 0 0;
  background:var(--ceh-azul);
}
#calendario-eventos-hsg .ceh-modal .ceh-contenido-modal{
  padding:26px 26px 24px;
}
#calendario-eventos-hsg .ceh-modal .ceh-fecha-modal{
  display:flex;
  align-items:center;
  gap:8px;
  color:var(--ceh-verde-salud);
  font-weight:600;
  font-size:.82rem;
  margin-bottom:12px;
  text-transform:capitalize;
  letter-spacing:.01em;
}
#calendario-eventos-hsg .ceh-modal h3{
  margin:0 0 14px 0;
  font-size:1.25rem;
  line-height:1.35;
  color:var(--ceh-azul-oscuro);
  font-weight:700;
  padding-bottom:14px;
  border-bottom:1px solid var(--ceh-borde);
}
#calendario-eventos-hsg .ceh-modal p{
  margin:0;
  font-size:.93rem;
  line-height:1.6;
  color:var(--ceh-texto);
}
#calendario-eventos-hsg .ceh-modal .ceh-pie-modal{
  margin-top:20px;
  display:flex;
  justify-content:flex-end;
}
#calendario-eventos-hsg .ceh-modal .ceh-btn-entendido{
  background:var(--ceh-azul);
  color:var(--ceh-blanco);
  border:none;
  padding:9px 18px;
  border-radius:6px;
  font-size:.85rem;
  font-weight:600;
  cursor:pointer;
  transition:background .15s ease;
}
#calendario-eventos-hsg .ceh-modal .ceh-btn-entendido:hover{ background:var(--ceh-azul-oscuro); }
#calendario-eventos-hsg .ceh-modal .ceh-cerrar{
  position:absolute;
  top:14px;
  right:16px;
  background:rgba(255,255,255,.85);
  border:none;
  width:30px;
  height:30px;
  border-radius:50%;
  font-size:1.2rem;
  line-height:1;
  cursor:pointer;
  color:var(--ceh-azul-oscuro);
  display:flex;
  align-items:center;
  justify-content:center;
  transition:background .15s ease;
}
#calendario-eventos-hsg .ceh-modal .ceh-cerrar:hover{ background:var(--ceh-blanco); }

@media (max-width:600px){
  #calendario-eventos-hsg .ceh-celda{ min-height:74px; font-size:.85rem; }
  #calendario-eventos-hsg .ceh-evento{ font-size:.62rem; }
  #calendario-eventos-hsg .ceh-cabecera h2{ font-size:1.05rem; }
}