/* Agenda SPCyPD · Correcciones v1
   1) La lista completa ya no queda recortada por max-height.
   2) Deja margen inferior real para que K-8 no cubra el último evento.
   3) Permite colocar K-8 a izquierda/derecha con una transición simple. */

/* La animación de colapso histórica tenía un techo de 2600px y cortaba agendas largas. */
.list-body{
  max-height:none !important;
  overflow:visible !important;
}
#listPanel.min .list-body,
.caja.min .list-body{
  display:none !important;
  max-height:0 !important;
  overflow:hidden !important;
  opacity:0 !important;
}

/* Mantener desplazamiento normal en móvil y evitar un segundo scroll interno. */
@media (max-width:980px){
  .events{
    max-height:none !important;
    overflow:visible !important;
    padding-right:0 !important;
  }
}

/* K-8: usar left como coordenada única para que sí pueda animarse entre lados. */
#k8-assistant{
  right:auto !important;
  left:calc(100vw - var(--k8-w,160px) - max(10px,env(safe-area-inset-right))) !important;
  transition:left .42s cubic-bezier(.22,.61,.36,1), opacity .22s ease, transform .28s cubic-bezier(.22,.61,.36,1) !important;
}
#k8-assistant.k8-left{
  left:max(10px,env(safe-area-inset-left)) !important;
}
#k8-assistant.k8-left .k8-bubble{
  left:126px !important;
  right:auto !important;
  border-radius:15px 15px 15px 5px !important;
  transform-origin:0 100% !important;
}
#k8-assistant.k8-left .k8-bubble::after{
  left:-7px !important;
  right:auto !important;
  border-right:0 !important;
  border-bottom:1px solid color-mix(in srgb,var(--k8-accent) 34%,transparent) !important;
  border-left:1px solid color-mix(in srgb,var(--k8-accent) 34%,transparent) !important;
  transform:rotate(45deg) !important;
}

@media(min-width:900px){
  #k8-assistant:not(.k8-left){
    left:calc(100vw - var(--k8-w,160px) - 24px) !important;
  }
}

/* En celular damos espacio para que el último evento y el pie puedan subir por encima de K-8. */
@media(max-width:700px), (hover:none) and (pointer:coarse){
  body{
    padding-bottom:max(178px,calc(158px + env(safe-area-inset-bottom))) !important;
  }
}

@media(max-width:520px){
  #k8-assistant:not(.k8-left){
    left:calc(100vw - var(--k8-w,136px) - 4px) !important;
  }
  #k8-assistant.k8-left{
    left:4px !important;
  }
  #k8-assistant.k8-left .k8-sprite{
    left:0 !important;
    right:auto !important;
    transform:scale(.85) !important;
    transform-origin:left bottom !important;
  }
  #k8-assistant.k8-left .k8-bubble{
    left:104px !important;
    right:auto !important;
    max-width:min(205px,calc(100vw - 145px)) !important;
  }
}

@media(prefers-reduced-motion:reduce){
  #k8-assistant{transition:none !important}
}

@media(print){
  body{padding-bottom:0 !important}
}
