/* Menú contextual por sección · v101.8 — móvil y escritorio */
#kt-ctx-nav{
  display:none;
  flex-direction:column;
  width:min(15.5rem,88vw);
  flex-shrink:0;
  border-right:1px solid rgba(148,163,184,.35);
  background:linear-gradient(180deg,#0f172a 0%,#1e1b4b 55%,#312e81 100%);
  color:#e2e8f0;
  overflow:auto;
  -webkit-overflow-scrolling:touch;
  z-index:85;
  padding:.65rem .55rem 1rem;
  box-sizing:border-box;
}
body.k23-on #kt-ctx-nav{display:flex}
#kt-ctx-nav .ctx-hd{
  padding:.35rem .5rem .7rem;
  border-bottom:1px solid rgba(255,255,255,.1);
  margin-bottom:.55rem;
}
#kt-ctx-nav .ctx-hd b{display:block;font-size:.95rem;font-weight:700}
#kt-ctx-nav .ctx-hd small{opacity:.75;font-size:.72rem;line-height:1.35;display:block;margin-top:.15rem}
#kt-ctx-nav .ctx-group{
  margin:.55rem 0 .2rem;
  padding:0 .45rem;
  font-size:.65rem;
  letter-spacing:.06em;
  text-transform:uppercase;
  opacity:.55;
}
#kt-ctx-nav a.ctx-link{
  display:flex;align-items:center;gap:.5rem;
  padding:.5rem .55rem;border-radius:.65rem;
  color:inherit;text-decoration:none;font-size:.88rem;font-weight:500;
  min-height:2.5rem; /* touch */
}
#kt-ctx-nav a.ctx-link:hover,
#kt-ctx-nav a.ctx-link.on{background:rgba(255,255,255,.12)}
#kt-ctx-nav a.ctx-link span.ic{width:1.35rem;text-align:center;flex-shrink:0}
#kt-ctx-nav .ctx-back{
  margin-top:auto;padding-top:.75rem;
  border-top:1px solid rgba(255,255,255,.1);
}
#kt-ctx-nav .ctx-back button{
  width:100%;padding:.65rem;border-radius:.65rem;border:0;
  background:#4f46e5;color:#fff;font-weight:600;cursor:pointer;font-size:.9rem;
  min-height:2.75rem;
}
#kt-ctx-tog{
  display:none;position:fixed;
  left:max(.5rem, env(safe-area-inset-left));
  bottom:calc(5.25rem + env(safe-area-inset-bottom,0px));
  z-index:90;width:3rem;height:3rem;border-radius:999px;border:0;
  background:linear-gradient(135deg,#4f46e5,#a855f7);color:#fff;font-size:1.15rem;cursor:pointer;
  box-shadow:0 8px 22px rgba(79,70,229,.45);
  align-items:center;justify-content:center;
}
body.k23-on #kt-ctx-tog{display:flex}

/* Móvil: drawer */
@media (max-width:767px){
  #kt-ctx-nav{
    position:fixed;
    top:0;bottom:0;left:0;
    padding-top:max(.65rem, env(safe-area-inset-top));
    transform:translateX(-105%);
    transition:transform .22s ease;
    width:min(18rem,90vw);
    box-shadow:8px 0 32px rgba(0,0,0,.35);
  }
  body.k23-on.ctx-open #kt-ctx-nav{transform:none}
  body.k23-on #k23-sec{margin-left:0 !important}
  /* overlay móvil */
  #kt-ctx-ov{
    display:none;position:fixed;inset:0;background:rgba(15,23,42,.45);z-index:84;
  }
  body.k23-on.ctx-open #kt-ctx-ov{display:block}
}

/* Escritorio: columna fija bajo la topbar */
@media (min-width:768px){
  #kt-ctx-tog{display:none !important}
  body.k23-on #kt-ctx-nav{
    position:fixed;
    top:3.25rem;
    bottom:0;left:0;
    display:flex;
    width:15rem;
  }
  body.k23-on #k23-sec{
    margin-left:15rem;
  }
  #kt-ctx-ov{display:none !important}
}

/* Evitar que el menú contextual tape el constructor en pantallas bajas */
@media (min-width:768px) and (max-height:500px){
  body.k23-on #kt-ctx-nav{top:2.75rem;font-size:.9rem}
}
