.academic-nav .nav-panel a:not(.nav-panel__all) {
  min-height: 54px;
  grid-template-columns: 1fr auto;
  padding-inline: 18px;
}

.academic-nav .nav-panel a:not(.nav-panel__all) strong {
  white-space: nowrap;
  font: 700 .95rem/1.2 "Century Gothic", AppleGothic, "URW Gothic L", Arial, sans-serif;
}

.academic-nav .nav-panel--classes {
  width: max-content;
  min-width: 390px;
  max-width: calc(100vw - 32px);
}

.academic-nav .nav-panel:not(.nav-panel--classes) {
  width: max-content;
  min-width: 210px;
  max-width: calc(100vw - 32px);
}

@media (min-width: 600px) {
  .academic-nav .nav-panel,
  .academic-nav .nav-panel--classes {
    position: absolute;
    top: 54px;
    right: auto;
    left: 50%;
    transform: translateX(-50%);
    max-height: 72vh;
    overflow-y: auto;
  }

  .academic-nav .nav-panel--classes { width: 390px; }
  .academic-nav .nav-panel:not(.nav-panel--classes) { width: 210px; }
}

@media (hover: hover) and (pointer: fine) {
  .academic-nav .nav-menu > summary { cursor: default; }
}

/* Los estados interactivos se expresan con color, nunca con líneas. */
.academic-nav > .nav-direct::after,
.academic-nav .nav-menu > summary::after,
.button::before,
.button::after,
[class$="__action"]::before,
[class$="__action"]::after,
.nav-panel__all::before,
.nav-panel__all::after {
  display: none !important;
  content: none !important;
}

.button,
[class$="__action"],
.nav-panel__all,
.academic-nav a,
.academic-nav summary {
  text-decoration: none !important;
  background-image: none !important;
}

.academic-nav > .nav-direct:not(.nav-contact):hover,
.academic-nav > .nav-direct:not(.nav-contact):focus-visible,
.academic-nav .nav-menu > summary:hover,
.academic-nav .nav-menu > summary:focus-visible {
  color: #fff;
  background: #a3182a;
  outline: 0;
}

.academic-nav .nav-panel a:hover,
.academic-nav .nav-panel a:focus-visible {
  color: #fff;
  background: #8c1022;
  outline: 0;
}

/* Identidad institucional global. */
.site-header { border-top: 7px solid #a3182a; }

.brand--geodatic small {
  max-width: 300px;
  color: #3e3e43;
  font-size: 8.5px;
  line-height: 1.35;
}

.aula-return-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 44px;
  padding: 0 16px;
  margin-right: auto;
  border: 1px solid #e3e3e7;
  border-radius: 9px;
  color: #171719;
  background: #f8f8f9;
  font-family: "Century Gothic", AppleGothic, "URW Gothic L", Arial, sans-serif;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .11em;
  text-transform: uppercase;
  box-shadow: 0 4px 14px rgba(20,20,24,.06);
  transition: color .18s, background-color .18s, border-color .18s, box-shadow .18s, transform .18s;
}
.aula-return-link svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }
.aula-return-link:hover,.aula-return-link:focus-visible { color: #fff; background: #a3182a; border-color: #a3182a; box-shadow: 0 8px 20px rgba(119,16,31,.2); transform: translateX(-2px); outline: 0; }
@media (max-width: 1100px) { .aula-return-link { margin-right: 0; } }
@media (max-width: 620px) { .aula-return-link { min-height: 38px; padding-inline: 11px; } .aula-return-link span { display: none; } }

/* Acciones del curso con el mismo lenguaje visual de CONSULTAS. */
.course-lms .aula-return-link,
.course-lms .aula-header-grade-link {
  width: auto;
  min-height: auto;
  align-self: stretch;
  margin-top: 18px;
  margin-bottom: 18px;
  margin-right: auto;
  margin-left: -18px;
  padding: 0 14px;
  gap: 8px;
  color: #171719;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .11em;
  text-transform: uppercase;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
}
.course-lms .aula-header-grade-link {
  margin-right: auto;
  margin-left: 0;
}
.course-lms .aula-return-link {
  margin-right: 4px;
  margin-left: -18px;
}
.course-lms .aula-header-grade-link span { display: inline; }
.course-lms .aula-header-grade-link svg,
.course-lms .aula-return-link svg {
  width: 21px;
  height: 21px;
  flex: 0 0 21px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
}
.course-lms .aula-header-grade-link:hover,
.course-lms .aula-header-grade-link:focus-visible,
.course-lms .aula-return-link:hover,
.course-lms .aula-return-link:focus-visible {
  color: #fff;
  background: #a3182a;
  border-color: transparent;
  box-shadow: none;
  transform: none;
}

/* Franja institucional para el nombre de cada curso. */
.course-lms .course-mode-strip { display: none; }

body.course-lms .page-hero .course-title-band .course-title-line h1 {
  padding: 16px 22px;
  color: #fff;
  background: #a3182a;
  border-radius: 0;
}

.institutional-footer > div,
.teacher-footer > strong,
.teacher-footer > span { display: none !important; }

.teacher-footer::before { content: none !important; display: none !important; }

.site-footer__inner .teacher-footer {
  order: 1;
  align-items: flex-start;
}

.site-footer__inner .institutional-footer {
  order: 2;
  margin-left: auto;
}

@media (max-width: 620px) {
  .site-footer__inner .institutional-footer { margin-left: 0; }
}

/* Navegación institucional con iconos. */
.academic-nav > .nav-direct {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  white-space: nowrap;
}

.nav-direct__icon {
  display: grid;
  place-items: center;
  width: 21px;
  height: 21px;
  flex: 0 0 21px;
}

.nav-direct__icon svg {
  width: 100%;
  height: 100%;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.academic-nav > .nav-help {
  min-height: 46px;
  margin-left: 8px;
  padding-inline: 17px;
  color: #fff;
  background: #a3182a;
  border-radius: 8px;
  box-shadow: 0 7px 18px rgba(119,16,31,.18);
}

.academic-nav > .nav-help:hover,
.academic-nav > .nav-help:focus-visible {
  color: #fff;
  background: #77101f;
  outline: 0;
  transform: translateY(-1px);
}

@media (max-width: 1100px) {
  .academic-nav > .nav-direct { padding-inline: 9px; }
  .nav-direct__icon { width: 18px; height: 18px; flex-basis: 18px; }
  .academic-nav > .nav-help { margin-left: 0; }
}

@media (max-width: 760px) {
  .academic-nav { grid-template-columns: repeat(6,max-content) !important; }
}

/* Bloque de marca y pie institucional 2026. */
.brand--geodatic.brand--logo-panel {
  align-self: stretch;
  justify-content: center;
  min-width: 128px;
  margin-left: -24px;
  padding: 10px 22px;
  background: #a3182a;
}
.brand--logo-panel > span { display: none !important; }
.brand--logo-panel > img { width: 82px !important; height: 70px !important; object-fit: contain; }
.geodatic-footer { display: block !important; min-height: 0 !important; padding-block: 30px 22px !important; }
.geodatic-footer__main { display: grid; grid-template-columns: 130px minmax(0,1fr) auto; align-items: center; gap: 34px; }
.geodatic-footer__main > img { width: 112px; height: 82px; object-fit: contain; }
.geodatic-footer__terms { justify-self: center; color: #c8c8cc; border-bottom: 1px solid #77777d; font-size: 11px; font-weight: 800; cursor: not-allowed; pointer-events: none; }
.geodatic-footer__social { display: flex; align-items: center; gap: 13px; }
.geodatic-footer__social > span { display: grid; place-items: center; width: 31px; height: 31px; color: #fff; border: 1px solid #45454a; border-radius: 50%; }
.geodatic-footer__social svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.geodatic-footer__social span:first-child svg { fill: currentColor; stroke: none; }
@media (max-width: 900px) {
  .brand--geodatic.brand--logo-panel { margin-left: 0; }
  .geodatic-footer__main { grid-template-columns: 100px 1fr; }
  .geodatic-footer__social { grid-column: 1/-1; justify-content: center; }
}
@media (max-width: 620px) {
  .brand--geodatic.brand--logo-panel { min-width: 104px; padding-inline: 14px; }
  .brand--logo-panel > img { width: 70px !important; height: 60px !important; }
  .geodatic-footer__main { grid-template-columns: 1fr; justify-items: center; gap: 18px; }
  .geodatic-footer__main > img { width: 100px; height: 72px; }
  .geodatic-footer__terms { justify-self: center; }
  .geodatic-footer__social { grid-column: 1; }
}

/* Fondo neutro para páginas internas, especialmente el interior de los cursos. */
html {
  background: #f7f7f8;
}
body {
  background-color: #f7f7f8 !important;
  background-image: none !important;
}

/* Las páginas principales también usan un fondo limpio, sin marca de agua. */
body.geodatic-main-page {
  background-color: #f7f7f8 !important;
  background-image: none !important;
}
@media (max-width: 760px) {
  body.geodatic-main-page {
    background-image: none !important;
  }
}

/* Título principal de marca con presencia editorial. */
.seo-learning-hero #geodatic-learning-title {
  font-size: clamp(4.4rem, 11vw, 9.5rem) !important;
  font-weight: 900 !important;
  line-height: .86 !important;
  letter-spacing: -.065em !important;
  text-transform: uppercase;
  text-shadow: 0 10px 28px rgba(23,23,25,.12);
}
.seo-learning-hero #geodatic-learning-title .geodatic-stylized-o {
  position: relative;
  display: inline-block;
  width: .82em;
  color: transparent;
  vertical-align: -.01em;
}
.seo-learning-hero #geodatic-learning-title .geodatic-stylized-o::before {
  content: "O";
  position: absolute;
  inset: 0;
  color: #fff;
}
.seo-learning-hero #geodatic-learning-title .geodatic-stylized-o::after {
  content: "";
  position: absolute;
  z-index: 1;
  left: -.02em;
  top: 48%;
  width: .9em;
  height: .085em;
  background: #941423;
  transform: rotate(-7deg);
  border-radius: 999px;
}

/* Franjas de sección para organizar el catálogo de cursos. */
.courses-catalog-page .catalog-group__title {
  display: flex;
  align-items: center;
  min-height: 64px;
  margin-bottom: 1.7rem;
  padding: .9rem 1.5rem;
  color: #fff !important;
  background: #a3182a;
  border-radius: 9px;
  box-shadow: 0 8px 20px rgba(163,24,42,.16);
  font-size: clamp(1.25rem,2.1vw,1.85rem) !important;
  letter-spacing: -.025em !important;
}
.courses-catalog-page .catalog-group__title::after {
  display: none !important;
}
@media (max-width: 680px) {
  .courses-catalog-page .catalog-group__title {
    min-height: 54px;
    padding: .78rem 1rem;
    border-radius: 7px;
  }
}
