/**
 * Admisión General — scroll de página hacia abajo,
 * sin hueco encima del título "Admisión General".
 *
 * - padding-top: 0  → no se puede “subir” a zona vacía sobre el título
 * - overflow-y: auto en content-wrapper → se baja si hay más contenido
 *
 * NO toca .wrapper background (protege sidebar).
 */
:root {
  --cn-ad-header-h: var(--cn-header-height, 50px);
  --cn-ad-footer-h: 42px;
  --cn-ad-sidebar-w: var(--cn-sidebar-width, 230px);
  --cn-ad-sidebar-mini-w: 50px;
}

html:has(#cuerpo > .cn-admision-page),
body:has(#cuerpo > .cn-admision-page),
html.cn-admision-active,
body.cn-admision-active {
  height: 100% !important;
  overflow: hidden !important; /* scroll solo en content-wrapper */
}

body:has(#cuerpo > .cn-admision-page) .wrapper,
body.cn-admision-active .wrapper {
  height: 100% !important;
  min-height: 0 !important;
  overflow: hidden !important;
}

/* Tope en header: sin padding fantasma; scroll hacia abajo permitido */
body.fixed .content-wrapper:has(#cuerpo > .cn-admision-page),
body.skin-blue.fixed .content-wrapper:has(#cuerpo > .cn-admision-page),
body.fixed.cn-admision-active .content-wrapper,
body.skin-blue.fixed.cn-admision-active .content-wrapper,
.content-wrapper:has(#cuerpo > .cn-admision-page),
body.cn-admision-active .content-wrapper {
  display: block !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch;
  min-height: 0 !important;
  margin-top: var(--cn-ad-header-h) !important;
  padding-top: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  padding-bottom: var(--cn-ad-footer-h) !important;
  height: calc(100vh - var(--cn-ad-header-h)) !important;
  max-height: calc(100vh - var(--cn-ad-header-h)) !important;
  margin-bottom: 0 !important;
  background: #eff4fa !important;
  box-shadow: none !important;
  border: none !important;
}

.content-wrapper:has(#cuerpo > .cn-admision-page) > .content,
body.cn-admision-active .content-wrapper > .content {
  display: block !important;
  padding: 0 !important;
  margin: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}

.content-wrapper:has(#cuerpo > .cn-admision-page) > .content > .row,
body.cn-admision-active .content-wrapper > .content > .row {
  display: block !important;
  margin: 0 !important;
  height: auto !important;
  max-height: none !important;
  min-height: 0 !important;
}

.content-wrapper:has(#cuerpo > .cn-admision-page) > .content > .row > .box,
.content-wrapper:has(#cuerpo > .cn-admision-page) .cn-gestion-host-box,
body.cn-admision-active .content-wrapper > .content > .row > .box,
body.cn-admision-active .cn-gestion-host-box {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  background: transparent !important;
  overflow: visible !important;
  height: auto !important;
  max-height: none !important;
  min-height: 0 !important;
}

#cuerpo:has(> .cn-admision-page),
body.cn-admision-active #cuerpo {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  height: auto !important;
  max-height: none !important;
  min-height: 0 !important;
  overflow: visible !important;
}

body:has(#cuerpo > .cn-admision-page) .main-footer,
body.cn-admision-active .main-footer {
  position: fixed !important;
  left: var(--cn-ad-sidebar-w) !important;
  right: 0 !important;
  bottom: 0 !important;
  width: auto !important;
  height: var(--cn-ad-footer-h) !important;
  margin: 0 !important;
  margin-left: 0 !important;
  padding: 10px 15px !important;
  z-index: 830 !important;
  background: #fff !important;
  border-top: 1px solid #e2e8f0 !important;
  box-shadow: none !important;
  line-height: 20px !important;
  overflow: hidden !important;
}

body.sidebar-mini.sidebar-collapse:has(#cuerpo > .cn-admision-page) .main-footer,
body.cn-admision-active.sidebar-mini.sidebar-collapse .main-footer {
  left: var(--cn-ad-sidebar-mini-w) !important;
}

/* Página: flujo natural */
#cuerpo > .cn-module-page.cn-admision-page,
#cuerpo > .recepcion-page.cn-admision-page {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 4px 10px 16px !important;
  box-sizing: border-box !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}

#cuerpo > .cn-admision-page > .cn-module-header {
  margin: 0 0 10px !important;
  padding: 0 !important;
}

@media (max-width: 767px) {
  body:has(#cuerpo > .cn-admision-page) .main-footer,
  body.cn-admision-active .main-footer {
    left: 0 !important;
  }

  #cuerpo > .cn-module-page.cn-admision-page,
  #cuerpo > .recepcion-page.cn-admision-page {
    padding: 4px 6px 12px !important;
  }
}
