/* 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}
}

/* ===== v102 · categorías fusionadas en el menú lateral + cerrar/abrir ===== */
#kt-ctx-nav .ctx-hd{position:relative;padding-right:2.4rem}
#kt-ctx-nav .ctx-collapse{
  position:absolute;top:.3rem;right:.3rem;width:1.9rem;height:1.9rem;border:0;border-radius:.55rem;
  background:rgba(255,255,255,.1);color:#e2e8f0;font-size:1.1rem;line-height:1;cursor:pointer;
}
#kt-ctx-nav .ctx-collapse:hover{background:rgba(255,255,255,.22)}
#kt-ctx-cats{margin-top:.2rem}
#kt-ctx-cats .ctx-ghd{
  display:flex;align-items:center;justify-content:space-between;width:100%;
  margin:.65rem 0 .15rem;padding:.3rem .45rem;border:0;background:transparent;color:inherit;cursor:pointer;
  font-size:.65rem;letter-spacing:.06em;text-transform:uppercase;font-weight:600;opacity:.7;text-align:left;
}
#kt-ctx-cats .ctx-ghd:hover{opacity:1}
#kt-ctx-cats .ctx-ghd i{font-style:normal;transition:transform .15s}
#kt-ctx-cats .ctx-cg:not(.open) .ctx-ghd i{transform:rotate(-90deg)}
#kt-ctx-cats .ctx-cg:not(.open) .ctx-cl{display:none}
#kt-ctx-cats .ctx-cg.sub .ctx-ghd{text-transform:none;letter-spacing:0;font-size:.78rem;padding-left:.9rem}
#kt-ctx-cats .ctx-cat{
  display:flex;align-items:center;justify-content:space-between;gap:.5rem;width:100%;
  padding:.42rem .55rem;border:0;border-radius:.6rem;background:transparent;color:inherit;
  font-size:.85rem;font-weight:500;text-align:left;cursor:pointer;min-height:2.2rem;
}
#kt-ctx-cats .ctx-cg.sub .ctx-cat{padding-left:1.1rem}
#kt-ctx-cats .ctx-cat:hover,#kt-ctx-cats .ctx-cat.on{background:rgba(255,255,255,.14)}
#kt-ctx-cats .ctx-cat .t{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#kt-ctx-cats .ctx-cat em{font-style:normal;font-size:.7rem;opacity:.7;background:rgba(255,255,255,.12);padding:.05rem .4rem;border-radius:999px}
#kt-ctx-nav{overflow-y:auto}
#kt-ctx-nav .ctx-back{flex-shrink:0;margin-top:auto}
#kt-ctx-cats{flex-shrink:0;padding-bottom:.8rem}
#kt-ctx-nav>*{flex-shrink:0}

/* El menú propio de la sección se oculta: ya está dentro del lateral */
html.ctx-merged body.k23-on .k31-menu,
html.ctx-merged body.k23-on .kf-menu,
html.ctx-merged body.k23-on .kf-burger{display:none !important}
html.ctx-merged body.k23-on .k31-wrap{grid-template-columns:minmax(0,1fr) 270px !important}
html.ctx-merged body.k23-on .k31-wrap.k31-art-wrap{grid-template-columns:minmax(0,860px) 280px !important;justify-content:center}
html.ctx-merged body.k23-on .kf-wrap{grid-template-columns:minmax(0,1fr) 300px !important}
html.ctx-merged body.k23-on .kf-wrap.kf-nosd{grid-template-columns:minmax(0,1fr) !important}
@media (max-width:1180px){
  html.ctx-merged body.k23-on .k31-wrap,
  html.ctx-merged body.k23-on .k31-wrap.k31-art-wrap,
  html.ctx-merged body.k23-on .kf-wrap{grid-template-columns:minmax(0,1fr) !important}
}

/* Cerrar el menú (escritorio) y botón para volver a abrirlo */
#kt-ctx-open{display:none}
@media (min-width:768px){
  html.ctx-collapsed body.k23-on #kt-ctx-nav{display:none !important}
  html.ctx-collapsed body.k23-on #k23-sec{margin-left:0 !important}
  html.ctx-collapsed body.k23-on #kt-ctx-open{
    display:flex;position:fixed;top:4.4rem;left:0;z-index:90;width:1.7rem;height:2.6rem;
    align-items:center;justify-content:center;border:0;border-radius:0 .7rem .7rem 0;cursor:pointer;
    background:linear-gradient(135deg,#4f46e5,#a855f7);color:#fff;font-size:1.1rem;
    box-shadow:4px 4px 14px rgba(79,70,229,.4);
  }
}

/* v102b · más secciones: biblioteca, noticias/market, red social, módulos */
html.ctx-merged body.k23-on .kl-nav,
html.ctx-merged body.k23-on .kl-chips,
html.ctx-merged body.k23-on .k22c-cats,
html.ctx-merged body.k23-on .k54-tabs,
html.ctx-merged body.k23-on .km-panel:has(.km-cat){display:none !important}
