/* ==========================================================================
   PANEL Y HERRAMIENTAS DE ACCESIBILIDAD (A11Y)
   UTN Facultad Regional Villa María
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. Botón Flotante y Panel Lateral
   -------------------------------------------------------------------------- */

/* Tokens compartidos para mantener consistentes los modos de contraste. */
html.a11y-high-contrast {
  --a11y-bg: #ffffff;
  --a11y-surface: #ffffff;
  --a11y-surface-muted: #f0f0f0;
  --a11y-text: #000000;
  --a11y-text-secondary: #222222;
  --a11y-border: #000000;
  --a11y-link: #003366;
  --a11y-accent: #F5A800;
}

html.a11y-inverted-contrast {
  --a11y-bg: #121212;
  --a11y-surface: #1e1e1e;
  --a11y-surface-muted: #252525;
  --a11y-text: #ffffff;
  --a11y-text-secondary: #cbd5e1;
  --a11y-border: #383838;
  --a11y-link: #ffd15c;
  --a11y-accent: #F5A800;
}

/* Contenedor del widget accesible */
.a11y-widget {
  position: fixed;
  bottom: 24px;
  left: 24px;
  z-index: 1050;
  font-family: var(--utn-font-sans, "Montserrat", sans-serif);
}

/* Botón flotante circular y discreto */
.a11y-floating-btn {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background-color: #124b77;
  color: #ffffff;
  border: 2px solid #ffffff;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.25);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  padding: 0;
  margin: 0;
  transition: transform 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.a11y-floating-btn:hover {
  background-color: #0c3555;
  border-color: var(--utn-color-brand, #F5A800);
  transform: scale(1.06);
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.35);
}

.a11y-floating-btn:focus-visible {
  outline: 3px solid var(--utn-color-brand, #F5A800);
  outline-offset: 3px;
}

.a11y-floating-btn:active {
  transform: scale(0.95);
}

.a11y-floating-btn .fa,
.a11y-floating-btn .fa-solid,
.a11y-floating-btn i,
.a11y-floating-btn__icon {
  font-size: 24px;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: inherit;
  flex-shrink: 0;
}

.a11y-panel__header-icon {
  font-size: 1.15rem;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: inherit;
  flex-shrink: 0;
}

/* Panel lateral emergente */
.a11y-panel {
  position: fixed;
  bottom: 82px;
  left: 24px;
  width: 310px;
  max-width: calc(100vw - 48px);
  background-color: #ffffff;
  color: #1a1a1a;
  border: 1px solid rgba(0, 0, 0, 0.12);
  border-radius: 14px;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.16), 0 2px 6px rgba(0, 0, 0, 0.06);
  padding: 1.15rem;
  z-index: 1055;
  opacity: 0;
  visibility: hidden;
  transform: translateY(12px) scale(0.96);
  pointer-events: none;
  overflow-x: hidden;
  transition: opacity 0.22s cubic-bezier(0.16, 1, 0.3, 1),
              transform 0.22s cubic-bezier(0.16, 1, 0.3, 1),
              visibility 0.22s;
}

/* Estado abierto del panel */
.a11y-panel.open {
  opacity: 1;
  visibility: visible;
  transform: translateY(0) scale(1);
  pointer-events: auto;
}

/* Encabezado del panel */
.a11y-panel__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.a11y-panel__header-title {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  color: #124b77;
}

.a11y-panel__heading {
  font-size: 1.05rem;
  font-weight: 700;
  margin: 0;
  color: inherit;
}

.a11y-panel__close-btn {
  background: transparent;
  border: none;
  color: #475569;
  font-size: 1.4rem;
  line-height: 1;
  cursor: pointer;
  padding: 2px 6px;
  border-radius: 6px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: color 0.15s ease, background-color 0.15s ease;
}

.a11y-panel__close-btn:hover {
  color: #1a1a1a;
  background-color: rgba(0, 0, 0, 0.05);
}

.a11y-panel__close-btn:focus-visible {
  outline: 2px solid var(--utn-color-brand, #F5A800);
  outline-offset: 2px;
}

/* Separadores */
.a11y-panel__divider {
  margin: 0.75rem 0;
  border: 0;
  border-top: 1px solid #e9ecef;
}

/* Lista de opciones */
.a11y-panel__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
}

.a11y-panel__item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.15rem 0;
}

.a11y-panel__label {
  font-size: 0.88rem;
  font-weight: 600;
  color: #2d3748;
  line-height: 1.25;
  flex: 1 1 auto;
  word-break: break-word;
}

/* --------------------------------------------------------------------------
   2. Switch / Toggle Accesible
   -------------------------------------------------------------------------- */
.a11y-switch {
  background: transparent;
  border: none;
  padding: 0;
  margin: 0;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  position: relative;
  border-radius: 14px;
  flex-shrink: 0;
}

.a11y-switch:focus-visible {
  outline: 3px solid #124b77;
  outline-offset: 2px;
}

.a11y-switch__track {
  width: 44px;
  height: 24px;
  background-color: #64748b;
  border: 1px solid #475569;
  border-radius: 12px;
  position: relative;
  transition: background-color 0.2s ease, border-color 0.2s ease;
  display: block;
}

.a11y-switch__thumb {
  width: 18px;
  height: 18px;
  background-color: #ffffff;
  border-radius: 50%;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.25);
  position: absolute;
  top: 2px;
  left: 2px;
  transition: transform 0.2s cubic-bezier(0.16, 1, 0.3, 1), background-color 0.2s ease;
  display: block;
}

/* Estado activo del switch */
.a11y-switch[aria-checked="true"] .a11y-switch__track,
.a11y-switch.active .a11y-switch__track {
  background-color: var(--utn-color-brand, #F5A800);
  border-color: #d99400;
}

.a11y-switch[aria-checked="true"] .a11y-switch__thumb,
.a11y-switch.active .a11y-switch__thumb {
  transform: translateX(20px);
}

/* --------------------------------------------------------------------------
   3. Botón de Restablecer
   -------------------------------------------------------------------------- */
.a11y-panel__footer {
  margin-top: 0.25rem;
}

.a11y-reset-btn {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  background-color: #f1f5f9;
  color: #334155;
  border: 1px solid #cbd5e1;
  border-radius: 8px;
  padding: 0.55rem 0.85rem;
  font-size: 0.88rem;
  font-weight: 700;
  cursor: pointer;
  font-family: inherit;
  transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

.a11y-reset-btn:hover {
  background-color: #e2e8f0;
  color: #0f172a;
  border-color: #94a3b8;
}

.a11y-reset-btn:focus-visible {
  outline: 3px solid var(--utn-color-brand, #F5A800);
  outline-offset: 2px;
}

.a11y-reset-btn__icon {
  font-size: 0.95rem;
}

/* --------------------------------------------------------------------------
   4. Modos de Accesibilidad (Clases en <html>)
   -------------------------------------------------------------------------- */

/* --------------------------------------------------------------------------
   Modo 1: Escala de Grises
   -------------------------------------------------------------------------- */
html.a11y-grayscale {
  filter: grayscale(100%);
}

/* --------------------------------------------------------------------------
   Modo 2: Alto Contraste (Específico, legible y controlado)
   -------------------------------------------------------------------------- */
/* Fondo general y jerarquía de textos con contraste máximo */
html.a11y-high-contrast {
  color-scheme: light;
}

html.a11y-high-contrast body.site-page,
html.a11y-high-contrast .site-main-content {
  background-color: var(--a11y-bg);
  color: var(--a11y-text);
}

/* Refuerzo de contraste en tipografía general */
html.a11y-high-contrast :is(
  h1, h2, h3, h4, h5, h6,
  .h1, .h2, .h3, .h4, .h5, .h6,
  .section-title, .home-intro__title
) {
  color: #000000;
  font-weight: 800;
}

html.a11y-high-contrast p,
html.a11y-high-contrast li,
html.a11y-high-contrast dt,
html.a11y-high-contrast dd,
html.a11y-high-contrast label,
html.a11y-high-contrast span:not(.badge):not(.quick-option-btn__label),
html.a11y-high-contrast .text-muted,
html.a11y-high-contrast .text-secondary,
html.a11y-high-contrast .text-dark,
html.a11y-high-contrast .carreras-categoria-desc {
  color: var(--a11y-text);
  font-weight: 500;
}

/* Enlaces generales de texto con alto contraste visible y controlado */
html.a11y-high-contrast a:not(.btn):not(.nav-link):not(.dropdown-item):not(.navbar-brand):not(.site-pagination__btn):not(.site-pagination__center):not(.a11y-floating-btn):not(.footer-social a):not(.quick-option-btn):not(.course-card):not(.carrera-item):not(.logo-download):not(.bienestar-nav-btn):not(.beca-btn-postular):not(.btn-calendar-download) {
  color: var(--a11y-link);
  text-decoration: underline;
  text-underline-offset: 2px;
  font-weight: 700;
}

html.a11y-high-contrast a:not(.btn):not(.nav-link):not(.dropdown-item):not(.navbar-brand):not(.site-pagination__btn):not(.site-pagination__center):not(.a11y-floating-btn):not(.footer-social a):not(.quick-option-btn):not(.course-card):not(.carrera-item):not(.logo-download):not(.bienestar-nav-btn):not(.beca-btn-postular):not(.btn-calendar-download):hover,
html.a11y-high-contrast a:not(.btn):not(.nav-link):not(.dropdown-item):not(.navbar-brand):not(.site-pagination__btn):not(.site-pagination__center):not(.a11y-floating-btn):not(.footer-social a):not(.quick-option-btn):not(.course-card):not(.carrera-item):not(.logo-download):not(.bienestar-nav-btn):not(.beca-btn-postular):not(.btn-calendar-download):focus {
  color: #001133;
  text-decoration-thickness: 2px;
}

/* 1. Home: Accesos Rápidos consistentes y de alto contraste */
html.a11y-high-contrast .quick-option-btn {
  background-color: #ffffff !important;
  color: #000000 !important;
  border: 2px solid #000000 !important;
  border-radius: 8px !important;
  text-decoration: none !important;
}

html.a11y-high-contrast .quick-option-btn:hover,
html.a11y-high-contrast .quick-option-btn:focus {
  background-color: #000000 !important;
  color: #ffffff !important;
}

html.a11y-high-contrast .quick-option-btn__label {
  color: #000000 !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}

html.a11y-high-contrast .quick-option-btn:hover .quick-option-btn__label,
html.a11y-high-contrast .quick-option-btn:focus .quick-option-btn__label {
  color: #ffffff !important;
}

html.a11y-high-contrast .quick-option-btn--enrollment .quick-option-btn__icon {
  fill: #000000 !important;
  color: #000000 !important;
}

html.a11y-high-contrast .quick-option-btn:hover .quick-option-btn--enrollment .quick-option-btn__icon,
html.a11y-high-contrast .quick-option-btn:focus .quick-option-btn--enrollment .quick-option-btn__icon {
  fill: #ffffff !important;
  color: #ffffff !important;
}

html.a11y-high-contrast .quick-option-btn--svg .quick-option-btn__icon {
  filter: brightness(0);
}

html.a11y-high-contrast .quick-option-btn:hover .quick-option-btn--svg .quick-option-btn__icon,
html.a11y-high-contrast .quick-option-btn:focus .quick-option-btn--svg .quick-option-btn__icon {
  filter: brightness(0) invert(1);
}

/* Navbar en Alto Contraste: Fondo sólido blanco con logo y textos 100% legibles */
html.a11y-high-contrast #main-header {
  background-color: #ffffff !important;
  border-bottom: 2px solid #000000;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.15);
}

html.a11y-high-contrast #main-header .navbar-nav .nav-link {
  color: #000000 !important;
  font-weight: 700 !important;
}

html.a11y-high-contrast #main-header .navbar-search-submit,
html.a11y-high-contrast #main-header .navbar-toggler {
  color: #000000 !important;
  font-weight: 700 !important;
}

html.a11y-high-contrast #main-header .navbar-toggler-text {
  color: #000000 !important;
  font-weight: 700 !important;
}

html.a11y-high-contrast #main-header .navbar-nav .nav-link.nav-cta {
  background-color: #e59400 !important;
  color: #000000 !important;
  border: 2px solid #000000;
  font-weight: 800 !important;
}

/* Dropdown del navbar */
html.a11y-high-contrast #main-header .dropdown-menu {
  background-color: #ffffff;
  border: 2px solid #000000;
  border-top: 4px solid #F5A800;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.25);
}

html.a11y-high-contrast #main-header .dropdown-item {
  color: #000000;
  font-weight: 600;
}

html.a11y-high-contrast #main-header .dropdown-item:hover,
html.a11y-high-contrast #main-header .dropdown-item:focus {
  background-color: #000000;
  color: #ffffff;
}

/* Breadcrumbs en Alto Contraste */
html.a11y-high-contrast .site-breadcrumbs {
  background-color: #f8f9fa;
  border-bottom: 2px solid #000000;
  color: #000000;
}

html.a11y-high-contrast .site-breadcrumbs__link {
  color: #003366;
  font-weight: 700;
}

html.a11y-high-contrast .site-breadcrumbs__current {
  color: #000000;
  font-weight: 700;
}

/* 3. Oferta Académica (Sección Home con fondo oscuro) */
html.a11y-high-contrast .home-courses {
  background-color: #000000 !important;
}

html.a11y-high-contrast .home-courses__heading h2 {
  color: #ffffff !important;
  font-weight: 800 !important;
}

html.a11y-high-contrast .courses-filter__tab {
  color: #ffffff !important;
  border: 1px solid #ffffff !important;
  border-radius: 4px;
  background-color: transparent !important;
  font-weight: 700 !important;
  margin: 2px 4px;
}

html.a11y-high-contrast .courses-filter__tab:hover,
html.a11y-high-contrast .courses-filter__tab:focus,
html.a11y-high-contrast .courses-filter__tab.active {
  background-color: #ffffff !important;
  color: #000000 !important;
  border-color: #ffffff !important;
}

html.a11y-high-contrast .course-card {
  border: 2px solid #ffffff !important;
  background-color: #ffffff !important;
}

html.a11y-high-contrast .course-card__title {
  color: #000000 !important;
  font-weight: 800 !important;
}

html.a11y-high-contrast .course-card__duration {
  color: #000000 !important;
  font-weight: 700 !important;
}

html.a11y-high-contrast .courses-empty-message {
  color: #ffffff !important;
  font-weight: 700 !important;
}

/* 3 y 6. Carreras: Categorías, Tarjetas y Duración */
html.a11y-high-contrast .carreras-categoria-titulo {
  color: #000000 !important;
  font-weight: 800 !important;
}

html.a11y-high-contrast .carrera-item {
  background-color: #ffffff !important;
  border: 2px solid #000000 !important;
  border-radius: 6px !important;
  box-shadow: none !important;
  text-decoration: none !important;
}

html.a11y-high-contrast .carrera-item:hover,
html.a11y-high-contrast .carrera-item:focus {
  background-color: #f0f0f0 !important;
  border-color: #000000 !important;
}

html.a11y-high-contrast .carrera-item-content h3 {
  color: #000000 !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}

html.a11y-high-contrast .carrera-titulo-intermedio {
  color: #222222 !important;
  font-weight: 600 !important;
}

html.a11y-high-contrast .carrera-duracion {
  background-color: #f0f0f0 !important;
  color: #000000 !important;
  border: 1px solid #000000 !important;
  font-weight: 700 !important;
}

html.a11y-high-contrast .carrera-duracion i {
  color: #000000 !important;
}

html.a11y-high-contrast .carrera-item-arrow {
  opacity: 1 !important;
  color: #000000 !important;
}

html.a11y-high-contrast .carrera-item-wrap::before,
html.a11y-high-contrast .carrera-item-wrap::after {
  background-color: #000000 !important;
}

/* 4. Identidad Visual: Tipografía Visual */
html.a11y-high-contrast .typography-hero {
  background: #000000 !important;
  border: 2px solid #000000 !important;
  color: #ffffff !important;
}

html.a11y-high-contrast .typography-hero__eyebrow,
html.a11y-high-contrast .typography-hero__label {
  color: #F5A800 !important;
  font-weight: 800 !important;
}

html.a11y-high-contrast .typography-hero__title {
  color: #ffffff !important;
  font-weight: 800 !important;
}

html.a11y-high-contrast .typography-hero__description {
  color: #ffffff !important;
  font-weight: 500 !important;
}

html.a11y-high-contrast .typography-hero__description strong {
  color: #ffffff !important;
  font-weight: 800 !important;
}

html.a11y-high-contrast .typography-hero__panel {
  background: rgba(255, 255, 255, 0.15) !important;
  border: 1px solid #ffffff !important;
}

html.a11y-high-contrast .typography-hero__characters {
  color: #ffffff !important;
  font-weight: 600 !important;
}

html.a11y-high-contrast .type-weight-card,
html.a11y-high-contrast .type-usage-card,
html.a11y-high-contrast .identidad-card,
html.a11y-high-contrast .identidad-subcard,
html.a11y-high-contrast .color-guide-card,
html.a11y-high-contrast .color-swatch,
html.a11y-high-contrast .logo-card {
  background-color: #ffffff !important;
  background-image: none !important;
  border: 2px solid #000000 !important;
  color: #000000 !important;
}

html.a11y-high-contrast .type-weight-card__sample,
html.a11y-high-contrast .type-usage-card__name,
html.a11y-high-contrast .card-title-text {
  color: #000000 !important;
  font-weight: 800 !important;
}

html.a11y-high-contrast .type-weight-badge {
  background-color: #000000 !important;
  color: #ffffff !important;
  font-weight: 700 !important;
}

/* 5. Identidad Visual: Botones de Descarga y Manual de Uso */
html.a11y-high-contrast .btn-dark {
  background-color: #000000 !important;
  color: #ffffff !important;
  border: 2px solid #000000 !important;
  font-weight: 700 !important;
}

html.a11y-high-contrast .btn-dark span,
html.a11y-high-contrast .btn-dark i {
  color: #ffffff !important;
}

html.a11y-high-contrast .btn-dark:hover,
html.a11y-high-contrast .btn-dark:focus {
  background-color: #333333 !important;
  color: #ffffff !important;
  border-color: #000000 !important;
}

html.a11y-high-contrast .btn-outline-dark {
  background-color: #ffffff !important;
  color: #000000 !important;
  border: 2px solid #000000 !important;
  font-weight: 700 !important;
}

html.a11y-high-contrast .btn-outline-dark span,
html.a11y-high-contrast .btn-outline-dark i {
  color: #000000 !important;
}

html.a11y-high-contrast .btn-outline-dark:hover,
html.a11y-high-contrast .btn-outline-dark:focus {
  background-color: #000000 !important;
  color: #ffffff !important;
}

html.a11y-high-contrast .btn-outline-dark:hover span,
html.a11y-high-contrast .btn-outline-dark:hover i,
html.a11y-high-contrast .btn-outline-dark:focus span,
html.a11y-high-contrast .btn-outline-dark:focus i {
  color: #ffffff !important;
}

html.a11y-high-contrast .logo-download--primary {
  background-color: #000000 !important;
  color: #ffffff !important;
  border: 2px solid #000000 !important;
  font-weight: 700 !important;
}

html.a11y-high-contrast .logo-download--primary:hover,
html.a11y-high-contrast .logo-download--primary:focus {
  background-color: #333333 !important;
  color: #ffffff !important;
}

html.a11y-high-contrast .logo-download--secondary {
  background-color: #ffffff !important;
  color: #000000 !important;
  border: 2px solid #000000 !important;
  font-weight: 700 !important;
}

html.a11y-high-contrast .logo-download--secondary:hover,
html.a11y-high-contrast .logo-download--secondary:focus {
  background-color: #000000 !important;
  color: #ffffff !important;
}

/* 7. Bienestar: Becas, Deportes, Viajes y Navegación */
html.a11y-high-contrast .bienestar-nav-btn {
  color: #000000 !important;
  border: 2px solid #000000 !important;
  font-weight: 700 !important;
  background-color: #ffffff !important;
}

html.a11y-high-contrast .bienestar-nav-btn.active,
html.a11y-high-contrast .bienestar-nav-btn:hover,
html.a11y-high-contrast .bienestar-nav-btn:focus {
  background-color: #000000 !important;
  color: #ffffff !important;
}

html.a11y-high-contrast .becas-accordion .accordion-item {
  border: 2px solid #000000 !important;
  background-color: #ffffff !important;
}

html.a11y-high-contrast .becas-accordion .accordion-button {
  background-color: #ffffff !important;
  color: #000000 !important;
  font-weight: 800 !important;
}

html.a11y-high-contrast .becas-accordion .category-title,
html.a11y-high-contrast .becas-accordion .category-icon,
html.a11y-high-contrast .becas-accordion .accordion-arrow {
  color: #000000 !important;
}

html.a11y-high-contrast .becas-accordion .accordion-button:not(.collapsed) {
  background-color: #f0f0f0 !important;
  border-bottom: 2px solid #000000 !important;
}

html.a11y-high-contrast .beca-card-icon-circle {
  background-color: rgba(255, 255, 255, 0.25) !important;
  border: 1px solid #ffffff !important;
  color: #ffffff !important;
}

html.a11y-high-contrast .bienestar-beca-card .bg-primary-dark {
  background-color: #000000 !important;
  color: #ffffff !important;
}

html.a11y-high-contrast .bienestar-beca-card .bg-primary-dark h4,
html.a11y-high-contrast .bienestar-beca-card .bg-primary-dark span {
  color: #ffffff !important;
  font-weight: 700 !important;
}

html.a11y-high-contrast .bienestar-beca-card .bg-primary-dark hr {
  background-color: #ffffff !important;
  opacity: 0.5 !important;
}

html.a11y-high-contrast .bienestar-beca-card {
  background-color: #ffffff !important;
  border: 2px solid #000000 !important;
}

html.a11y-high-contrast .bienestar-beca-card h5,
html.a11y-high-contrast .bienestar-beca-card strong {
  color: #000000 !important;
  font-weight: 800 !important;
}

html.a11y-high-contrast .bienestar-beca-card p,
html.a11y-high-contrast .bienestar-beca-card li {
  color: #000000 !important;
  font-weight: 500 !important;
}

html.a11y-high-contrast .beca-link-action {
  color: #000000 !important;
  font-weight: 700 !important;
  text-decoration: underline !important;
}

html.a11y-high-contrast .beca-btn-postular {
  background-color: #000000 !important;
  color: #ffffff !important;
  border: 2px solid #000000 !important;
  font-weight: 700 !important;
}

html.a11y-high-contrast .beca-btn-postular:hover,
html.a11y-high-contrast .beca-btn-postular:focus {
  background-color: #333333 !important;
  color: #ffffff !important;
}

html.a11y-high-contrast .beca-meta-icon {
  background-color: #f0f0f0 !important;
  border: 1px solid #000000 !important;
  color: #000000 !important;
}

html.a11y-high-contrast .beca-meta-item .text-dark {
  color: #000000 !important;
  font-weight: 800 !important;
}

html.a11y-high-contrast .beca-meta-item .text-muted {
  color: #333333 !important;
  font-weight: 700 !important;
}

html.a11y-high-contrast .sport-card,
html.a11y-high-contrast .travel-card-modern,
html.a11y-high-contrast .student-card-modern {
  border: 2px solid #000000 !important;
  background-color: #ffffff !important;
}

html.a11y-high-contrast .sport-title,
html.a11y-high-contrast .travel-card-modern h4,
html.a11y-high-contrast .student-card-modern-title {
  color: #000000 !important;
  font-weight: 800 !important;
}

html.a11y-high-contrast .sport-text,
html.a11y-high-contrast .travel-card-modern p {
  color: #000000 !important;
  font-weight: 500 !important;
}

html.a11y-high-contrast .sport-header-icon,
html.a11y-high-contrast .travel-card-modern .card-icon-wrapper {
  background-color: #000000 !important;
  color: #ffffff !important;
  border: 2px solid #000000 !important;
}

/* Tarjetas, Acordeones y Paneles generales */
html.a11y-high-contrast :is(.card, .accordion-item, .modal-content) {
  background-color: var(--a11y-surface);
  border: 2px solid var(--a11y-border);
}

html.a11y-high-contrast .accordion-button {
  color: #000000;
  font-weight: 700;
  background-color: #f8f9fa;
  border-bottom: 1px solid #000000;
}

html.a11y-high-contrast .accordion-button:not(.collapsed) {
  background-color: #e9ecef;
  color: #000000;
}

/* Formularios e Inputs */
html.a11y-high-contrast :is(
  input, select, textarea, .form-control, .form-select
) {
  border: 2px solid var(--a11y-border);
  color: var(--a11y-text);
  background-color: var(--a11y-surface);
  font-weight: 600;
}

html.a11y-high-contrast :is(
  input, select, textarea, .form-control, .form-select
):focus {
  outline: 3px solid #000000;
  outline-offset: 2px;
}

/* Botones de acción y paginación */
html.a11y-high-contrast .btn-primary {
  background-color: #000000;
  color: #ffffff;
  border: 2px solid #000000;
  font-weight: 700;
}

html.a11y-high-contrast .btn-primary:hover,
html.a11y-high-contrast .btn-primary:focus {
  background-color: #222222;
  color: #ffffff;
  border-color: #000000;
}

html.a11y-high-contrast .btn-secondary,
html.a11y-high-contrast .btn-outline-primary,
html.a11y-high-contrast .btn-outline-secondary {
  background-color: #ffffff;
  color: #000000;
  border: 2px solid #000000;
  font-weight: 700;
}

html.a11y-high-contrast .site-pagination__btn {
  border: 2px solid #000000;
  color: #000000;
  background-color: #ffffff;
  font-weight: 800;
}

html.a11y-high-contrast .site-pagination__center {
  background-color: #000000;
  color: #ffffff;
  border: 2px solid #000000;
  font-weight: 800;
}

/* Tablas */
html.a11y-high-contrast :is(table, th, td) {
  border: 2px solid var(--a11y-border);
  color: var(--a11y-text);
}

html.a11y-high-contrast th {
  background-color: var(--a11y-surface-muted);
  font-weight: 800;
}

/* Footer en Alto Contraste */
html.a11y-high-contrast .site-footer {
  background-color: #000000;
  color: #ffffff;
  border-top: 3px solid var(--utn-color-brand, #F5A800);
}

html.a11y-high-contrast .footer-col-title {
  color: #ffffff;
  font-weight: 800;
}

html.a11y-high-contrast .footer-col-links a {
  color: #ffffff;
  text-decoration: underline;
  text-underline-offset: 2px;
}

html.a11y-high-contrast .footer-address p,
html.a11y-high-contrast .footer-bottom p {
  color: #ffffff;
}

html.a11y-high-contrast .footer-social a {
  color: #ffffff;
}

/* Panel de Accesibilidad en Alto Contraste */
html.a11y-high-contrast .a11y-panel {
  border: 2px solid var(--a11y-border);
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.35);
}

html.a11y-high-contrast .a11y-floating-btn {
  background-color: #000000;
  color: #ffffff;
  border: 2px solid #000000;
}

html.a11y-high-contrast .a11y-reset-btn {
  border: 2px solid #000000;
  background-color: #f8f9fa;
  color: #000000;
  font-weight: 700;
}

/* --------------------------------------------------------------------------
   Modo 3: Contraste Negativo (Estructural por componentes, sin filter global)
   -------------------------------------------------------------------------- */
/* Fondo general y cuerpo en modo oscuro de alto contraste */
html.a11y-inverted-contrast {
  color-scheme: dark;
}

html.a11y-inverted-contrast body.site-page,
html.a11y-inverted-contrast .site-main-content,
html.a11y-inverted-contrast main,
html.a11y-inverted-contrast section {
  background-color: var(--a11y-bg) !important;
  color: var(--a11y-text-secondary) !important;
}

/* Tipografía y textos principales */
html.a11y-inverted-contrast h1,
html.a11y-inverted-contrast h2,
html.a11y-inverted-contrast h3,
html.a11y-inverted-contrast h4,
html.a11y-inverted-contrast h5,
html.a11y-inverted-contrast h6,
html.a11y-inverted-contrast .h1,
html.a11y-inverted-contrast .h2,
html.a11y-inverted-contrast .h3,
html.a11y-inverted-contrast .h4,
html.a11y-inverted-contrast .h5,
html.a11y-inverted-contrast .h6,
html.a11y-inverted-contrast .section-title,
html.a11y-inverted-contrast .card-title,
html.a11y-inverted-contrast .modal-title {
  color: var(--a11y-text) !important;
  font-weight: 700;
}

html.a11y-inverted-contrast p,
html.a11y-inverted-contrast li,
html.a11y-inverted-contrast dt,
html.a11y-inverted-contrast dd,
html.a11y-inverted-contrast label,
html.a11y-inverted-contrast span:not(.badge):not(.quick-option-btn__label):not(.carrera-duracion):not(.carrera-titulo-intermedio),
html.a11y-inverted-contrast .text-muted,
html.a11y-inverted-contrast .text-secondary,
html.a11y-inverted-contrast .text-dark {
  color: var(--a11y-text-secondary) !important;
}

html.a11y-inverted-contrast strong,
html.a11y-inverted-contrast b,
html.a11y-inverted-contrast .fw-bold,
html.a11y-inverted-contrast .fw-bolder {
  color: #ffffff !important;
}

/* Enlaces de texto dentro de párrafos y contenido general */
html.a11y-inverted-contrast a:not(.btn):not(.nav-link):not(.dropdown-item):not(.navbar-brand):not(.site-pagination__btn):not(.site-pagination__center):not(.a11y-floating-btn):not(.footer-social a):not(.quick-option-btn):not(.course-card):not(.carrera-item):not(.logo-download):not(.bienestar-nav-btn):not(.beca-btn-postular):not(.btn-calendar-download):not(.hero-scroll-cta):not(.home-intro__cta):not(.home-news-all):not(.home-update-card):not(.career-action-btn):not(.btn-institucional-item):not(.btn-doc-view):not(.btn-doc-download):not(.plan-btn-view):not(.estudiantes-quick-access__link):not(.btn-residencia-photos):not(.btn-residencia-reglamento) {
  color: var(--a11y-link) !important;
  text-decoration: underline;
  text-underline-offset: 2px;
}

html.a11y-inverted-contrast a:not(.btn):not(.nav-link):not(.dropdown-item):not(.navbar-brand):not(.site-pagination__btn):not(.site-pagination__center):not(.a11y-floating-btn):not(.footer-social a):not(.quick-option-btn):not(.course-card):not(.carrera-item):not(.logo-download):not(.bienestar-nav-btn):not(.beca-btn-postular):not(.btn-calendar-download):not(.hero-scroll-cta):not(.home-intro__cta):not(.home-news-all):not(.home-update-card):not(.career-action-btn):not(.btn-institucional-item):not(.btn-doc-view):not(.btn-doc-download):not(.plan-btn-view):not(.estudiantes-quick-access__link):not(.btn-residencia-photos):not(.btn-residencia-reglamento):hover,
html.a11y-inverted-contrast a:not(.btn):not(.nav-link):not(.dropdown-item):not(.navbar-brand):not(.site-pagination__btn):not(.site-pagination__center):not(.a11y-floating-btn):not(.footer-social a):not(.quick-option-btn):not(.course-card):not(.carrera-item):not(.logo-download):not(.bienestar-nav-btn):not(.beca-btn-postular):not(.btn-calendar-download):not(.hero-scroll-cta):not(.home-intro__cta):not(.home-news-all):not(.home-update-card):not(.career-action-btn):not(.btn-institucional-item):not(.btn-doc-view):not(.btn-doc-download):not(.plan-btn-view):not(.estudiantes-quick-access__link):not(.btn-residencia-photos):not(.btn-residencia-reglamento):focus {
  color: #ffffff !important;
}

/* 1. HOME: Hero, Intro y Accesos Rápidos */
html.a11y-inverted-contrast .home-hero {
  background-color: #000000 !important;
}

html.a11y-inverted-contrast .home-hero__overlay {
  background: rgba(0, 0, 0, 0.85) !important;
}

html.a11y-inverted-contrast .hero-scroll-cta {
  background: var(--utn-color-brand, #F5A800) !important;
  color: #121212 !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}

html.a11y-inverted-contrast .hero-scroll-cta:hover,
html.a11y-inverted-contrast .hero-scroll-cta:focus {
  background: #DC9700 !important;
  color: #000000 !important;
}

html.a11y-inverted-contrast .home-content,
html.a11y-inverted-contrast .home-intro {
  background-color: #121212 !important;
}

html.a11y-inverted-contrast .home-intro__title {
  color: #ffffff !important;
}

html.a11y-inverted-contrast .home-intro__title .bold_cultura {
  color: #ffffff !important;
}

html.a11y-inverted-contrast .home-intro__title .semi_bold_utn,
html.a11y-inverted-contrast .home-intro__title .semi_bold_utn_gato {
  color: var(--utn-color-brand, #F5A800) !important;
}

html.a11y-inverted-contrast .home-intro__text {
  color: #e2e8f0 !important;
}

html.a11y-inverted-contrast .texto_utn_intro {
  color: #ffffff !important;
  font-weight: 700 !important;
}

html.a11y-inverted-contrast .home-intro__cta {
  background: var(--utn-color-brand, #F5A800) !important;
  border-color: var(--utn-color-brand, #F5A800) !important;
  color: #121212 !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}

html.a11y-inverted-contrast .home-intro__cta:hover,
html.a11y-inverted-contrast .home-intro__cta:focus {
  background: #ffffff !important;
  border-color: #ffffff !important;
  color: #121212 !important;
}

/* Accesos Rápidos */
html.a11y-inverted-contrast .quick-option-btn {
  background-color: #1e1e1e !important;
  color: #ffffff !important;
  border: 2px solid #383838 !important;
  border-radius: 8px !important;
  text-decoration: none !important;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.5) !important;
}

html.a11y-inverted-contrast .quick-option-btn:hover,
html.a11y-inverted-contrast .quick-option-btn:focus {
  background-color: #282828 !important;
  border-color: var(--utn-color-brand, #F5A800) !important;
  color: var(--utn-color-brand, #F5A800) !important;
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.7) !important;
}

html.a11y-inverted-contrast .quick-option-btn__label {
  color: #ffffff !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}

html.a11y-inverted-contrast .quick-option-btn:hover .quick-option-btn__label,
html.a11y-inverted-contrast .quick-option-btn:focus .quick-option-btn__label {
  color: var(--utn-color-brand, #F5A800) !important;
}

html.a11y-inverted-contrast .quick-option-btn--enrollment .quick-option-btn__icon {
  fill: var(--utn-color-brand, #F5A800) !important;
  color: var(--utn-color-brand, #F5A800) !important;
}

html.a11y-inverted-contrast .quick-option-btn:hover .quick-option-btn--enrollment .quick-option-btn__icon,
html.a11y-inverted-contrast .quick-option-btn:focus .quick-option-btn--enrollment .quick-option-btn__icon {
  fill: #ffffff !important;
  color: #ffffff !important;
}

html.a11y-inverted-contrast .quick-option-btn--svg .quick-option-btn__icon-image--default {
  filter: brightness(0) invert(1) !important;
}

html.a11y-inverted-contrast .quick-option-btn--svg:hover .quick-option-btn__icon-image--default,
html.a11y-inverted-contrast .quick-option-btn--svg:focus .quick-option-btn__icon-image--default {
  filter: brightness(0) invert(0.8) sepia(1) saturate(5) hue-rotate(5deg) !important;
}

/* 2. NAVBAR Y NAVEGACIÓN GLOBAL */
html.a11y-inverted-contrast #main-header {
  background-color: #181818 !important;
  border-bottom: 1px solid #333333 !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.6) !important;
}

html.a11y-inverted-contrast #main-header .navbar-nav .nav-link {
  color: #f0f0f0 !important;
}

html.a11y-inverted-contrast #main-header .navbar-nav .nav-link:hover,
html.a11y-inverted-contrast #main-header .navbar-nav .nav-link:focus {
  color: var(--utn-color-brand, #F5A800) !important;
  background-color: rgba(255, 255, 255, 0.08) !important;
}

html.a11y-inverted-contrast #main-header .navbar-search-submit,
html.a11y-inverted-contrast #main-header .navbar-toggler {
  color: #f0f0f0 !important;
}

html.a11y-inverted-contrast #main-header .navbar-toggler-text {
  color: #f0f0f0 !important;
}

html.a11y-inverted-contrast #main-header .navbar-brand .logo-img {
  filter: invert(1) brightness(2) !important;
}

html.a11y-inverted-contrast #main-header .navbar-nav .nav-link.nav-cta {
  background-color: var(--utn-color-brand, #F5A800) !important;
  color: #121212 !important;
  font-weight: 700 !important;
}

html.a11y-inverted-contrast #main-header .dropdown-menu {
  background-color: #222222 !important;
  border: 1px solid #444444 !important;
  border-top: 3px solid var(--utn-color-brand, #F5A800) !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.8) !important;
}

html.a11y-inverted-contrast #main-header .dropdown-item {
  color: #e0e0e0 !important;
}

html.a11y-inverted-contrast #main-header .dropdown-item:hover,
html.a11y-inverted-contrast #main-header .dropdown-item:focus {
  background-color: rgba(245, 168, 0, 0.15) !important;
  color: var(--utn-color-brand, #F5A800) !important;
}

/* Breadcrumbs */
html.a11y-inverted-contrast .site-breadcrumbs {
  background-color: #1a1a1a !important;
  border-bottom: 1px solid #333333 !important;
  color: #a0a0a0 !important;
}

html.a11y-inverted-contrast .site-breadcrumbs__link {
  color: #ffd15c !important;
  text-decoration: none !important;
}

html.a11y-inverted-contrast .site-breadcrumbs__link:hover {
  color: #ffffff !important;
  text-decoration: underline !important;
}

html.a11y-inverted-contrast .site-breadcrumbs__current {
  color: #cbd5e1 !important;
}

/* 3. HOME: OFERTA ACADÉMICA (Carrusel + Filtros) */
html.a11y-inverted-contrast .home-courses {
  background-color: #0e0e0e !important;
}

html.a11y-inverted-contrast .home-courses__heading h2 {
  color: #ffffff !important;
  font-weight: 800 !important;
}

html.a11y-inverted-contrast .courses-filter__tab {
  color: #cbd5e1 !important;
  border: 1px solid #383838 !important;
  border-radius: 4px;
  background-color: #1a1a1a !important;
  font-weight: 600 !important;
  margin: 2px 4px;
}

html.a11y-inverted-contrast .courses-filter__tab:hover,
html.a11y-inverted-contrast .courses-filter__tab:focus {
  background-color: #2a2a2a !important;
  color: #ffffff !important;
  border-color: #555555 !important;
}

html.a11y-inverted-contrast .courses-filter__tab.active {
  background-color: var(--utn-color-brand, #F5A800) !important;
  color: #121212 !important;
  border-color: var(--utn-color-brand, #F5A800) !important;
  font-weight: 700 !important;
}

html.a11y-inverted-contrast .courses-filter__tab.active::after {
  display: none !important;
}

html.a11y-inverted-contrast .course-card {
  border: 2px solid #383838 !important;
  background-color: #1a1a1a !important;
  border-radius: 8px !important;
  text-decoration: none !important;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.4) !important;
}

html.a11y-inverted-contrast .course-card:hover {
  background-color: #242424 !important;
  border-color: var(--utn-color-brand, #F5A800) !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.6) !important;
}

html.a11y-inverted-contrast .courses-empty-message {
  color: #e2e8f0 !important;
}

/* 4. SECCIÓN CARRERAS Y POSGRADOS */
html.a11y-inverted-contrast .carreras-page {
  background-color: #121212 !important;
  color: #f0f0f0 !important;
}

html.a11y-inverted-contrast .carreras-categoria-header {
  border-bottom: 2px solid #2d3748 !important;
}

html.a11y-inverted-contrast .carreras-categoria-titulo {
  color: #ffffff !important;
  font-weight: 800 !important;
}

html.a11y-inverted-contrast .carreras-categoria-desc {
  color: #cbd5e1 !important;
}

html.a11y-inverted-contrast .carrera-item-wrap::before,
html.a11y-inverted-contrast .carrera-item-wrap::after {
  background-color: var(--carrera-color, #F5A800) !important;
}

html.a11y-inverted-contrast .carrera-item {
  background: #1e1e1e !important;
  border-left: 1px solid #333333 !important;
  border-right: 1px solid #333333 !important;
  border-bottom: 3px solid #282828 !important;
  border-top: none !important;
  border-radius: 0 0 8px 8px !important;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.4) !important;
  text-decoration: none !important;
}

html.a11y-inverted-contrast .carrera-item:hover,
html.a11y-inverted-contrast .carrera-item:focus {
  background: #282828 !important;
  border-left-color: #444444 !important;
  border-right-color: #444444 !important;
  border-bottom-color: var(--carrera-color, #F5A800) !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.6) !important;
  transform: translateY(-3px);
}

html.a11y-inverted-contrast .carrera-item-content h3 {
  color: #ffffff !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}

html.a11y-inverted-contrast .carrera-item:hover .carrera-item-content h3 {
  color: var(--carrera-color, #F5A800) !important;
}

html.a11y-inverted-contrast .carrera-titulo-intermedio {
  color: #a0aec0 !important;
  font-weight: 500 !important;
  text-decoration: none !important;
}

html.a11y-inverted-contrast .carrera-duracion {
  background: #2d3748 !important;
  color: #f7fafc !important;
  border: 1px solid #4a5568 !important;
  font-weight: 600 !important;
}

html.a11y-inverted-contrast .carrera-duracion i {
  color: var(--utn-color-brand, #F5A800) !important;
}

html.a11y-inverted-contrast .carrera-item-arrow {
  color: #a0aec0 !important;
  opacity: 1 !important;
}

html.a11y-inverted-contrast .carrera-item:hover .carrera-item-arrow {
  color: var(--carrera-color, #F5A800) !important;
}

/* Páginas de Detalle de Carreras y Posgrados */
html.a11y-inverted-contrast .carrera-detalle,
html.a11y-inverted-contrast .posgrado-detalle {
  background-color: #121212 !important;
}

html.a11y-inverted-contrast .carrera-seccion,
html.a11y-inverted-contrast .posgrado-seccion {
  background-color: #1e1e1e !important;
  border: 1px solid #383838 !important;
  color: #e2e8f0 !important;
}

html.a11y-inverted-contrast .carrera-seccion h2,
html.a11y-inverted-contrast .posgrado-seccion h2 {
  color: #ffffff !important;
  font-weight: 700 !important;
  border-bottom: 2px solid var(--carrera-color, var(--posgrado-color, #F5A800)) !important;
}

html.a11y-inverted-contrast .carrera-seccion p,
html.a11y-inverted-contrast .carrera-seccion li,
html.a11y-inverted-contrast .posgrado-seccion p,
html.a11y-inverted-contrast .posgrado-seccion li {
  color: #cbd5e1 !important;
}

html.a11y-inverted-contrast .carrera-seccion strong,
html.a11y-inverted-contrast .posgrado-seccion strong {
  color: #ffffff !important;
}

html.a11y-inverted-contrast .carrera-lista-ambitos li::before {
  color: var(--carrera-color, var(--posgrado-color, #F5A800)) !important;
}

html.a11y-inverted-contrast .career-sidebar,
html.a11y-inverted-contrast .sidebar-info {
  background-color: #1e1e1e !important;
  border: 1px solid #383838 !important;
  color: #e2e8f0 !important;
}

html.a11y-inverted-contrast .career-sidebar h3,
html.a11y-inverted-contrast .sidebar-info h3 {
  color: #ffffff !important;
}

html.a11y-inverted-contrast .sidebar-info p {
  color: #cbd5e1 !important;
}

html.a11y-inverted-contrast .sidebar-info strong {
  color: #ffffff !important;
}

html.a11y-inverted-contrast .career-action-btn,
html.a11y-inverted-contrast .btn-naranja {
  background-color: var(--utn-color-brand, #F5A800) !important;
  border-color: var(--utn-color-brand, #F5A800) !important;
  color: #121212 !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}

html.a11y-inverted-contrast .career-action-btn:hover,
html.a11y-inverted-contrast .career-action-btn:focus,
html.a11y-inverted-contrast .btn-naranja:hover,
html.a11y-inverted-contrast .btn-naranja:focus {
  background-color: #d99400 !important;
  border-color: #d99400 !important;
  color: #000000 !important;
}

html.a11y-inverted-contrast .card-info-general {
  background-color: #1e1e1e !important;
  border: 2px solid var(--posgrado-color, #F5A800) !important;
  color: #f7fafc !important;
}

html.a11y-inverted-contrast .card-info-general h3,
html.a11y-inverted-contrast .card-info-general h4,
html.a11y-inverted-contrast .card-info-general p,
html.a11y-inverted-contrast .card-info-general div,
html.a11y-inverted-contrast .card-info-general a.contact-link {
  color: #f7fafc !important;
}

html.a11y-inverted-contrast .descarga-box {
  background-color: #1e1e1e !important;
  border-color: #383838 !important;
  color: #f7fafc !important;
}

html.a11y-inverted-contrast .descarga-meta-color {
  color: var(--posgrado-color, #F5A800) !important;
}

html.a11y-inverted-contrast .descarga-icon-col {
  background-color: var(--posgrado-color, #F5A800) !important;
  color: #121212 !important;
}

/* Tablas de Posgrados y Planes de Estudio */
html.a11y-inverted-contrast .tabla-posgrado,
html.a11y-inverted-contrast .tabla-posgrado th,
html.a11y-inverted-contrast .tabla-posgrado td,
html.a11y-inverted-contrast .tabla-posgrado .bg-white {
  background-color: #1e1e1e !important;
  color: #f0f0f0 !important;
  border-color: #383838 !important;
}

html.a11y-inverted-contrast .tabla-posgrado th {
  background-color: #2a2a2a !important;
  color: #ffffff !important;
  border-color: #444444 !important;
  font-weight: 700 !important;
}

html.a11y-inverted-contrast .tabla-posgrado td.bg-white {
  background-color: #1e1e1e !important;
  color: #ffffff !important;
}

html.a11y-inverted-contrast .tabla-posgrado tbody tr:hover td {
  background-color: #282828 !important;
}

/* 5. HOME: NOTICIAS Y NOVEDADES */
html.a11y-inverted-contrast .home-news-section {
  background-color: #121212 !important;
}

html.a11y-inverted-contrast .home-news-title {
  color: #ffffff !important;
}

html.a11y-inverted-contrast .home-news-card {
  background-color: #1e1e1e !important;
  border: 1px solid #383838 !important;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.4) !important;
}

html.a11y-inverted-contrast .home-news-card__date {
  color: var(--utn-color-brand, #F5A800) !important;
  font-weight: 600 !important;
}

html.a11y-inverted-contrast .home-news-card__title a {
  color: #ffffff !important;
  text-decoration: none !important;
}

html.a11y-inverted-contrast .home-news-card__title a:hover {
  color: var(--utn-color-brand, #F5A800) !important;
}

html.a11y-inverted-contrast .home-news-all {
  background-color: var(--utn-color-brand, #F5A800) !important;
  color: #121212 !important;
  border: 2px solid var(--utn-color-brand, #F5A800) !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}

html.a11y-inverted-contrast .home-news-all:hover,
html.a11y-inverted-contrast .home-news-all:focus {
  background-color: #ffffff !important;
  border-color: #ffffff !important;
  color: #121212 !important;
}

html.a11y-inverted-contrast .home-update-card {
  background-color: #1e1e1e !important;
  border: 1px solid #383838 !important;
  color: #ffffff !important;
  text-decoration: none !important;
}

html.a11y-inverted-contrast .home-update-card:hover {
  background-color: #282828 !important;
  border-color: var(--utn-color-brand, #F5A800) !important;
}

html.a11y-inverted-contrast .home-update-title {
  color: #ffffff !important;
}

html.a11y-inverted-contrast .home-update-action i {
  color: var(--utn-color-brand, #F5A800) !important;
}

/* 6. INSTITUCIONAL */
html.a11y-inverted-contrast .secretaria-page {
  background-color: #121212 !important;
  color: #f0f0f0 !important;
  padding-bottom: 60px !important;
}

html.a11y-inverted-contrast .subnavbar-institucional {
  background-color: #181818 !important;
  border-bottom: 1px solid #333333 !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.5) !important;
}

html.a11y-inverted-contrast .subnavbar-institucional .custom-pill {
  color: #e0e0e0 !important;
  background-color: transparent !important;
}

html.a11y-inverted-contrast .subnavbar-institucional .custom-pill:hover {
  background-color: rgba(245, 168, 0, 0.15) !important;
  color: var(--utn-color-brand, #F5A800) !important;
  border-color: rgba(245, 168, 0, 0.3) !important;
}

html.a11y-inverted-contrast .subnavbar-institucional .custom-pill.active {
  background-color: var(--utn-color-brand, #F5A800) !important;
  color: #121212 !important;
  border-color: var(--utn-color-brand, #F5A800) !important;
  font-weight: 700 !important;
}

html.a11y-inverted-contrast .secretaria-section--autoridades {
  background-color: #1e1e1e !important;
  border: 1px solid #383838 !important;
}

html.a11y-inverted-contrast .autoridad-maxima-card {
  background-color: #1e1e1e !important;
  border: 1px solid #383838 !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.4) !important;
}

html.a11y-inverted-contrast .autoridad-maxima-card:hover {
  border-color: var(--utn-color-brand, #F5A800) !important;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.6) !important;
}

html.a11y-inverted-contrast .autoridad-avatar-wrapper {
  background: #252525 !important;
  border: 1px solid #383838 !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3) !important;
}

html.a11y-inverted-contrast .autoridad-cargo-badge {
  background-color: #2a2a2a !important;
  color: var(--utn-color-brand, #F5A800) !important;
  border-color: var(--utn-color-brand, #F5A800) !important;
}

html.a11y-inverted-contrast .autoridad-nombre {
  color: #ffffff !important;
}

html.a11y-inverted-contrast .autoridad-email a {
  color: #ffd15c !important;
}

html.a11y-inverted-contrast .autoridad-email a:hover {
  color: #ffffff !important;
}

html.a11y-inverted-contrast .consejo-intro-card {
  background-color: #1e1e1e !important;
  border: 1px solid #383838 !important;
  color: #d8d8d8 !important;
}

html.a11y-inverted-contrast .consejo-desc {
  color: #e2e8f0 !important;
}

html.a11y-inverted-contrast .badge-consejo {
  background-color: #2a2a2a !important;
  color: #ffffff !important;
  border: 1px solid var(--utn-color-brand, #F5A800) !important;
}

html.a11y-inverted-contrast .integrante-card {
  background-color: #1e1e1e !important;
  border: 1px solid #383838 !important;
}

html.a11y-inverted-contrast .integrante-nombre {
  color: #ffffff !important;
}

html.a11y-inverted-contrast .integrante-dni {
  color: #cbd5e1 !important;
}

html.a11y-inverted-contrast .integrante-card .badge {
  background-color: #252525 !important;
  color: #e2e8f0 !important;
  border-color: #444444 !important;
}

html.a11y-inverted-contrast .secretaria-item-wrap::before,
html.a11y-inverted-contrast .secretaria-item-wrap::after {
  background-color: var(--secretaria-color, #F5A800) !important;
}

html.a11y-inverted-contrast .secretaria-item {
  background: #1e1e1e !important;
  border-left: 1px solid #333333 !important;
  border-right: 1px solid #333333 !important;
  border-bottom: 3px solid #282828 !important;
  color: #ffffff !important;
}

html.a11y-inverted-contrast .secretaria-item:hover {
  background: #282828 !important;
}

html.a11y-inverted-contrast .secretaria-item-content h3 {
  color: #ffffff !important;
}

html.a11y-inverted-contrast .secretaria-item-arrow {
  color: #a0aec0 !important;
}

html.a11y-inverted-contrast .secretaria-collapse-body {
  background-color: #141414 !important;
  border: 1px solid #383838 !important;
  color: #d8d8d8 !important;
}

html.a11y-inverted-contrast .btn-institucional-item {
  background-color: #242424 !important;
  color: #ffffff !important;
  border: 2px solid #444444 !important;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.4) !important;
}

html.a11y-inverted-contrast .btn-institucional-item span,
html.a11y-inverted-contrast .btn-institucional-item i {
  color: #ffffff !important;
}

html.a11y-inverted-contrast .btn-institucional-item:hover,
html.a11y-inverted-contrast .btn-institucional-item:focus {
  border-color: var(--utn-color-brand, #F5A800) !important;
  color: #121212 !important;
  transform: translateY(-3px) !important;
  box-shadow: 0 6px 16px rgba(245, 168, 0, 0.3) !important;
}

html.a11y-inverted-contrast .btn-institucional-item:hover span,
html.a11y-inverted-contrast .btn-institucional-item:hover i,
html.a11y-inverted-contrast .btn-institucional-item:focus span,
html.a11y-inverted-contrast .btn-institucional-item:focus i {
  color: #121212 !important;
}

/* 6. IDENTIDAD VISUAL */
html.a11y-inverted-contrast .identidad-page {
  background-color: #121212 !important;
}

html.a11y-inverted-contrast .color-guide-card {
  background: #1e1e1e !important;
  background-color: #1e1e1e !important;
  background-image: none !important;
  border: 1px solid #383838 !important;
  border-left: 0.3125rem solid var(--utn-color-brand, #F5A800) !important;
  color: #ffffff !important;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.4) !important;
}

html.a11y-inverted-contrast .color-guide-card__icon {
  background: #2a2a2a !important;
  background-color: #2a2a2a !important;
  border: 1px solid #444444 !important;
  box-shadow: none !important;
}

html.a11y-inverted-contrast .color-guide-card__icon i {
  color: #ff6b6b !important;
}

html.a11y-inverted-contrast .color-guide-card h5,
html.a11y-inverted-contrast .color-guide-card .text-dark {
  color: #ffffff !important;
}

html.a11y-inverted-contrast .color-guide-card p,
html.a11y-inverted-contrast .color-guide-card .text-secondary {
  color: #cbd5e1 !important;
}

html.a11y-inverted-contrast .color-guide-card .btn-outline-dark {
  background: transparent !important;
  background-color: transparent !important;
  color: #ffffff !important;
  border: 2px solid #ffffff !important;
  box-shadow: none !important;
}

html.a11y-inverted-contrast .color-guide-card .btn-outline-dark:hover,
html.a11y-inverted-contrast .color-guide-card .btn-outline-dark:focus {
  background: #ffffff !important;
  background-color: #ffffff !important;
  color: #121212 !important;
  border-color: #ffffff !important;
}

html.a11y-inverted-contrast .color-guide-card .btn-outline-dark:hover i,
html.a11y-inverted-contrast .color-guide-card .btn-outline-dark:focus i {
  color: #121212 !important;
}

html.a11y-inverted-contrast .color-guide-card .btn-dark {
  background: var(--utn-color-brand, #F5A800) !important;
  background-color: var(--utn-color-brand, #F5A800) !important;
  color: #121212 !important;
  border: 2px solid var(--utn-color-brand, #F5A800) !important;
  box-shadow: none !important;
}

html.a11y-inverted-contrast .color-guide-card .btn-dark:hover,
html.a11y-inverted-contrast .color-guide-card .btn-dark:focus {
  background: #d99400 !important;
  background-color: #d99400 !important;
  color: #000000 !important;
  border-color: #d99400 !important;
}

html.a11y-inverted-contrast .color-guide-card .btn-dark i,
html.a11y-inverted-contrast .color-guide-card .btn-dark:hover i,
html.a11y-inverted-contrast .color-guide-card .btn-dark:focus i {
  color: #121212 !important;
}

html.a11y-inverted-contrast .color-swatch {
  background-color: #1e1e1e !important;
  border: 1px solid #383838 !important;
  color: #ffffff !important;
}

html.a11y-inverted-contrast .color-swatch .card-body {
  background-color: #1e1e1e !important;
}

html.a11y-inverted-contrast .color-swatch .text-dark {
  color: #ffffff !important;
}

html.a11y-inverted-contrast .color-swatch .text-secondary {
  color: #cbd5e1 !important;
}

html.a11y-inverted-contrast .color-swatch .font-monospace {
  color: #ffd15c !important;
}

html.a11y-inverted-contrast .color-copy {
  color: #ffffff !important;
}

html.a11y-inverted-contrast .typography-hero {
  background: #1e1e1e !important;
  border: 1px solid #383838 !important;
  color: #ffffff !important;
}

html.a11y-inverted-contrast .typography-hero__eyebrow,
html.a11y-inverted-contrast .typography-hero__label {
  color: var(--utn-color-brand, #F5A800) !important;
}

html.a11y-inverted-contrast .typography-hero__title {
  color: #ffffff !important;
}

html.a11y-inverted-contrast .typography-hero__description {
  color: #cbd5e1 !important;
}

html.a11y-inverted-contrast .typography-hero__panel {
  background: rgba(255, 255, 255, 0.08) !important;
  border: 1px solid #444444 !important;
}

html.a11y-inverted-contrast .type-weight-card,
html.a11y-inverted-contrast .type-usage-card,
html.a11y-inverted-contrast .identidad-card,
html.a11y-inverted-contrast .identidad-subcard,
html.a11y-inverted-contrast .logo-card {
  background-color: #1e1e1e !important;
  border: 1px solid #383838 !important;
  color: #ffffff !important;
}

html.a11y-inverted-contrast .identidad-card-preview {
  background-color: #252525 !important;
  border-bottom: 1px solid #383838 !important;
}

html.a11y-inverted-contrast .identidad-card-icon {
  color: var(--utn-color-brand, #F5A800) !important;
}

html.a11y-inverted-contrast .type-weight-card__sample,
html.a11y-inverted-contrast .type-usage-card__name,
html.a11y-inverted-contrast .card-title-text {
  color: #ffffff !important;
}

html.a11y-inverted-contrast .type-weight-badge {
  background-color: #2d3748 !important;
  color: #ffffff !important;
}

html.a11y-inverted-contrast .logo-download--primary {
  background-color: var(--utn-color-brand, #F5A800) !important;
  color: #121212 !important;
  border: 1px solid var(--utn-color-brand, #F5A800) !important;
  font-weight: 700 !important;
}

html.a11y-inverted-contrast .logo-download--secondary {
  background-color: #2a2a2a !important;
  color: #ffffff !important;
  border: 1px solid #444444 !important;
  font-weight: 700 !important;
}

html.a11y-inverted-contrast .carousel-logo-card {
  background-color: #1e1e1e !important;
  border: 1px solid #383838 !important;
}

html.a11y-inverted-contrast .logo-preview {
  background-color: #252525 !important;
  border-bottom: 1px solid #383838 !important;
}

html.a11y-inverted-contrast #btn-volver-menu {
  color: var(--utn-color-brand, #F5A800) !important;
}

/* 7. NUESTRA COMUNIDAD */
html.a11y-inverted-contrast .comunidad-page {
  background-color: #121212 !important;
}

html.a11y-inverted-contrast .comunidad-card {
  background-color: #1e1e1e !important;
  border: 1px solid #383838 !important;
  color: #f0f0f0 !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.4) !important;
}

html.a11y-inverted-contrast .comunidad-title {
  color: #ffffff !important;
  border-bottom: 3px solid var(--utn-color-brand, #F5A800) !important;
}

html.a11y-inverted-contrast .comunidad-text {
  color: #e2e8f0 !important;
}

html.a11y-inverted-contrast .comunidad-quote {
  background-color: #242424 !important;
  border: 1px solid #383838 !important;
  border-left: 4px solid var(--utn-color-brand, #F5A800) !important;
}

html.a11y-inverted-contrast .comunidad-quote__icon {
  color: var(--utn-color-brand, #F5A800) !important;
}

html.a11y-inverted-contrast .comunidad-quote__text {
  color: #f7fafc !important;
}

html.a11y-inverted-contrast .comunidad-quote__author {
  color: #ffffff !important;
}

html.a11y-inverted-contrast .comunidad-quote__role {
  color: #cbd5e1 !important;
}

html.a11y-inverted-contrast .comunidad-doc-card {
  background-color: #242424 !important;
  border: 1px solid #383838 !important;
}

html.a11y-inverted-contrast .comunidad-doc-title {
  color: #ffffff !important;
}

html.a11y-inverted-contrast .comunidad-doc-desc {
  color: #cbd5e1 !important;
}

html.a11y-inverted-contrast .btn-doc-view {
  color: #ffffff !important;
  border: 1px solid #555555 !important;
  background-color: #2a2a2a !important;
}

html.a11y-inverted-contrast .btn-doc-view:hover {
  background-color: #383838 !important;
  color: #ffffff !important;
  border-color: #777777 !important;
}

html.a11y-inverted-contrast .btn-doc-download {
  background-color: var(--utn-color-brand, #F5A800) !important;
  border: 1px solid var(--utn-color-brand, #F5A800) !important;
  color: #121212 !important;
  font-weight: 700 !important;
}

/* 8. PLANIFICACIONES DE CÁTEDRA */
html.a11y-inverted-contrast .planificaciones-page {
  background-color: #121212 !important;
}

html.a11y-inverted-contrast .plan-accordion .accordion-item,
html.a11y-inverted-contrast .plan-sub-accordion .accordion-item {
  background-color: #1e1e1e !important;
  border: 1px solid #383838 !important;
}

html.a11y-inverted-contrast .plan-accordion .accordion-button,
html.a11y-inverted-contrast .plan-sub-accordion .accordion-button {
  background-color: #1e1e1e !important;
  color: #ffffff !important;
}

html.a11y-inverted-contrast .plan-accordion .accordion-button:not(.collapsed),
html.a11y-inverted-contrast .plan-sub-accordion .accordion-button:not(.collapsed) {
  background-color: #282828 !important;
  color: var(--utn-color-brand, #F5A800) !important;
  border-bottom: 1px solid #383838 !important;
}

html.a11y-inverted-contrast .plan-dept-title {
  color: #ffffff !important;
}

html.a11y-inverted-contrast .plan-accordion .accordion-arrow {
  color: var(--utn-color-brand, #F5A800) !important;
}

html.a11y-inverted-contrast .plan-accordion .accordion-body,
html.a11y-inverted-contrast .plan-subjects-list {
  background-color: #141414 !important;
  color: #ffffff !important;
}

html.a11y-inverted-contrast .plan-subject-item {
  background: #1e1e1e !important;
  background-color: #1e1e1e !important;
  border: 1px solid #383838 !important;
  color: #ffffff !important;
}

html.a11y-inverted-contrast .plan-subject-item:hover {
  background: #282828 !important;
  background-color: #282828 !important;
  border-color: var(--utn-color-brand, #F5A800) !important;
}

html.a11y-inverted-contrast .plan-subject-name {
  color: #ffffff !important;
}

html.a11y-inverted-contrast .plan-btn-view {
  background-color: #2a2a2a !important;
  color: #ffffff !important;
  border: 1px solid #555555 !important;
}

html.a11y-inverted-contrast .plan-btn-view:hover {
  background-color: var(--utn-color-brand, #F5A800) !important;
  color: #121212 !important;
  border-color: var(--utn-color-brand, #F5A800) !important;
}

/* 9. BIENESTAR ESTUDIANTIL */
html.a11y-inverted-contrast section.bienestar-section,
html.a11y-inverted-contrast section.bienestar-section.bg-light-gray,
html.a11y-inverted-contrast section.bienestar-section.bg-white,
html.a11y-inverted-contrast #contacto.bg-light-gray {
  background-color: #121212 !important;
}

html.a11y-inverted-contrast .bienestar-nav-wrapper {
  background-color: #181818 !important;
  border-bottom: 1px solid #333333 !important;
}

html.a11y-inverted-contrast .bienestar-nav-btn {
  color: #e0e0e0 !important;
  border: 2px solid transparent !important;
  background-color: transparent !important;
}

html.a11y-inverted-contrast .bienestar-nav-btn:hover {
  color: var(--utn-color-brand, #F5A800) !important;
  border-color: rgba(245, 168, 0, 0.4) !important;
  background-color: rgba(245, 168, 0, 0.1) !important;
}

html.a11y-inverted-contrast .bienestar-nav-btn.active {
  background-color: var(--utn-color-brand, #F5A800) !important;
  color: #121212 !important;
  border-color: var(--utn-color-brand, #F5A800) !important;
  font-weight: 700 !important;
}

html.a11y-inverted-contrast .becas-accordion .accordion-item {
  border: 1px solid #383838 !important;
  background-color: #1e1e1e !important;
}

html.a11y-inverted-contrast .becas-accordion .accordion-button {
  background-color: #1e1e1e !important;
  color: #ffffff !important;
  font-weight: 700 !important;
}

html.a11y-inverted-contrast .becas-accordion .category-title,
html.a11y-inverted-contrast .becas-accordion .category-icon,
html.a11y-inverted-contrast .becas-accordion .accordion-arrow {
  color: var(--utn-color-brand, #F5A800) !important;
}

html.a11y-inverted-contrast .becas-accordion .accordion-button:not(.collapsed) {
  background-color: #282828 !important;
  border-bottom: 1px solid #383838 !important;
}

html.a11y-inverted-contrast .bienestar-beca-card {
  background-color: #1e1e1e !important;
  border: 1px solid #383838 !important;
}

html.a11y-inverted-contrast .bienestar-beca-card h5,
html.a11y-inverted-contrast .bienestar-beca-card strong {
  color: #ffffff !important;
}

html.a11y-inverted-contrast .bienestar-beca-card p,
html.a11y-inverted-contrast .bienestar-beca-card li {
  color: #cbd5e1 !important;
}

html.a11y-inverted-contrast .beca-btn-postular {
  background-color: var(--utn-color-brand, #F5A800) !important;
  color: #121212 !important;
  border: 1px solid var(--utn-color-brand, #F5A800) !important;
  font-weight: 700 !important;
}

html.a11y-inverted-contrast .beca-btn-postular:hover,
html.a11y-inverted-contrast .beca-btn-postular:focus {
  background-color: #d99400 !important;
  color: #000000 !important;
}

html.a11y-inverted-contrast .beca-meta-icon {
  background-color: #2a2a2a !important;
  border: 1px solid #444444 !important;
  color: var(--utn-color-brand, #F5A800) !important;
}

html.a11y-inverted-contrast .sport-card {
  background-color: #1e1e1e !important;
  border: 1px solid #383838 !important;
  color: #f0f0f0 !important;
  border-radius: 10px !important;
}

html.a11y-inverted-contrast .sport-title {
  color: #ffffff !important;
  font-weight: 700 !important;
}

html.a11y-inverted-contrast .sport-header-icon {
  background-color: #2a2a2a !important;
  color: var(--utn-color-brand, #F5A800) !important;
  border: 1px solid #444444 !important;
}

html.a11y-inverted-contrast .sport-card .text-muted {
  color: #cbd5e1 !important;
}

html.a11y-inverted-contrast .sport-card strong.text-dark {
  color: #ffffff !important;
}

html.a11y-inverted-contrast .travel-card-modern {
  background-color: #1e1e1e !important;
  border: 1px solid #383838 !important;
  border-left: 6px solid var(--utn-color-brand, #F5A800) !important;
  color: #f0f0f0 !important;
}

html.a11y-inverted-contrast .travel-card-modern h4 {
  color: #ffffff !important;
}

html.a11y-inverted-contrast .travel-card-modern p {
  color: #cbd5e1 !important;
}

html.a11y-inverted-contrast .travel-card-modern .card-icon-wrapper {
  background-color: #2a2a2a !important;
  color: var(--utn-color-brand, #F5A800) !important;
}

html.a11y-inverted-contrast .travel-card-modern .bg-light {
  background-color: #252525 !important;
  border: 1px solid #383838 !important;
  color: #f0f0f0 !important;
}

html.a11y-inverted-contrast .travel-card-modern .bg-light strong {
  color: #ffffff !important;
}

html.a11y-inverted-contrast .travel-card-modern .bg-light ul,
html.a11y-inverted-contrast .travel-card-modern .bg-light li {
  color: #cbd5e1 !important;
}

html.a11y-inverted-contrast #residencias .p-4 {
  background-color: #1e1e1e !important;
  border: 1px solid #383838 !important;
  color: #f0f0f0 !important;
}

html.a11y-inverted-contrast #residencias h3 {
  color: #ffffff !important;
}

html.a11y-inverted-contrast #residencias p,
html.a11y-inverted-contrast #residencias li {
  color: #cbd5e1 !important;
}

html.a11y-inverted-contrast #residencias strong {
  color: #ffffff !important;
}

html.a11y-inverted-contrast .student-card-modern {
  background-color: #1e1e1e !important;
  border: 1px solid #383838 !important;
  border-left: 6px solid var(--utn-color-brand, #F5A800) !important;
  color: #f0f0f0 !important;
}

html.a11y-inverted-contrast .student-card-modern h3,
html.a11y-inverted-contrast .student-card-modern-title {
  color: #ffffff !important;
}

html.a11y-inverted-contrast .btn-calendar-download,
html.a11y-inverted-contrast .btn-residencia-photos,
html.a11y-inverted-contrast .btn-residencia-reglamento {
  background-color: #2a2a2a !important;
  color: #ffffff !important;
  border: 1px solid #555555 !important;
}

html.a11y-inverted-contrast .btn-calendar-download:hover,
html.a11y-inverted-contrast .btn-residencia-photos:hover,
html.a11y-inverted-contrast .btn-residencia-reglamento:hover {
  background-color: var(--utn-color-brand, #F5A800) !important;
  color: #121212 !important;
  border-color: var(--utn-color-brand, #F5A800) !important;
}

html.a11y-inverted-contrast .bienestar-section-divider {
  border-color: #282828 !important;
}

/* 10. AGENDA */
html.a11y-inverted-contrast .agenda-widget {
  --agenda-paper-bg: #1e1e1e;
  --agenda-text: #ffffff;
  --agenda-muted: #cbd5e1;
  --agenda-border: #383838;
}

html.a11y-inverted-contrast .agenda-panel,
html.a11y-inverted-contrast .agenda-panel--calendar,
html.a11y-inverted-contrast .agenda-panel--events {
  background: #1e1e1e !important;
  border-color: #383838 !important;
  color: #ffffff !important;
}

html.a11y-inverted-contrast .agenda-panel__title,
html.a11y-inverted-contrast .agenda-panel__title--events {
  color: #ffffff !important;
}

html.a11y-inverted-contrast .agenda-panel__eyebrow {
  color: var(--utn-color-brand, #F5A800) !important;
}

html.a11y-inverted-contrast .agenda-weekdays div {
  background: rgba(245, 168, 0, 0.15) !important;
  color: var(--utn-color-brand, #F5A800) !important;
}

html.a11y-inverted-contrast .agenda-grid > div:not(.agenda-grid__empty) {
  background: #252525 !important;
  border-color: #383838 !important;
  color: #ffffff !important;
}

html.a11y-inverted-contrast .agenda-widget .day-cell.has-event {
  background: #2e2e2e !important;
  border-color: var(--utn-color-brand, #F5A800) !important;
}

html.a11y-inverted-contrast .agenda-widget .day-cell.today {
  border-color: var(--utn-color-brand, #F5A800) !important;
}

html.a11y-inverted-contrast .agenda-widget .day-cell.today .day-cell__number {
  color: var(--utn-color-brand, #F5A800) !important;
}

html.a11y-inverted-contrast .agenda-btn--ghost {
  background: #2a2a2a !important;
  border-color: #444444 !important;
  color: #ffffff !important;
}

html.a11y-inverted-contrast .agenda-event-item {
  background: #252525 !important;
  border-color: #383838 !important;
  color: #ffffff !important;
}

html.a11y-inverted-contrast .agenda-event-item__title {
  color: #ffffff !important;
}

html.a11y-inverted-contrast .agenda-event-item__meta {
  color: #cbd5e1 !important;
}

html.a11y-inverted-contrast .agenda-event-item__date {
  color: var(--utn-color-brand, #F5A800) !important;
}

html.a11y-inverted-contrast .agenda-subscribe {
  background: #1e1e1e !important;
  border-color: #383838 !important;
  color: #ffffff !important;
}

html.a11y-inverted-contrast .agenda-subscribe__title {
  color: #ffffff !important;
}

html.a11y-inverted-contrast .agenda-subscribe__subtitle {
  color: #cbd5e1 !important;
}

html.a11y-inverted-contrast .agenda-subscribe__select {
  background: #252525 !important;
  border-color: #444444 !important;
  color: #ffffff !important;
}

html.a11y-inverted-contrast .agenda-subscribe__btn {
  background: #2a2a2a !important;
  border-color: #444444 !important;
  color: #ffffff !important;
}

/* 11. GALERÍA DE FOTOS */
html.a11y-inverted-contrast :is(
  .gallery-search-group,
  .empleo-search-group
) {
  background-color: var(--a11y-surface) !important;
  border: 1px solid var(--a11y-border) !important;
}

html.a11y-inverted-contrast :is(
  .gallery-toggle-filters-btn,
  .empleo-toggle-filters-btn
) {
  background-color: var(--a11y-surface) !important;
  color: var(--a11y-text) !important;
  border: 1px solid var(--a11y-border) !important;
}

html.a11y-inverted-contrast :is(
  .gallery-filters-panel,
  .empleo-filters-panel
) {
  background-color: var(--a11y-surface) !important;
  border: 1px solid var(--a11y-border) !important;
  color: var(--a11y-text) !important;
}

html.a11y-inverted-contrast :is(
  .gallery-filter-select,
  .empleo-filter-select
) {
  background-color: var(--a11y-surface-muted) !important;
  border: 1px solid #444444 !important;
  color: var(--a11y-text) !important;
}

html.a11y-inverted-contrast :is(
  .gallery-search-input,
  .empleo-search-input
) {
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  color: #ffffff !important;
  box-shadow: none !important;
  outline: none !important;
}

html.a11y-inverted-contrast :is(
  .gallery-search-input,
  .empleo-search-input
)::placeholder {
  color: #888888 !important;
}

html.a11y-inverted-contrast :is(
  .gallery-toggle-filters-btn,
  .empleo-toggle-filters-btn
):hover,
html.a11y-inverted-contrast :is(
  .gallery-toggle-filters-btn,
  .empleo-toggle-filters-btn
)[aria-expanded="true"] {
  background: #282828 !important;
  color: var(--utn-color-brand, #F5A800) !important;
  border-color: var(--utn-color-brand, #F5A800) !important;
}

html.a11y-inverted-contrast :is(
  .gallery-reset-btn,
  .empleo-reset-filters-btn
) {
  background-color: #2a2a2a !important;
  color: #ffffff !important;
  border: 1px solid #444444 !important;
}

html.a11y-inverted-contrast :is(
  .gallery-reset-btn,
  .empleo-reset-filters-btn
):hover {
  background-color: var(--utn-color-brand, #F5A800) !important;
  color: #121212 !important;
  border-color: var(--utn-color-brand, #F5A800) !important;
}

html.a11y-inverted-contrast .gallery-page,
html.a11y-inverted-contrast .gallery-detail-page {
  background-color: #121212 !important;
}

html.a11y-inverted-contrast :is(
  .gallery-folder-card,
  .photo-card,
  .estudiantes-quick-access__link,
  .schedule-card
) {
  background: #1e1e1e !important;
  background-color: #1e1e1e !important;
  border: 1px solid #383838 !important;
}

html.a11y-inverted-contrast .gallery-search-group:focus-within {
  border-color: var(--utn-color-brand, #F5A800) !important;
}

html.a11y-inverted-contrast .gallery-search-icon {
  color: var(--utn-color-brand, #F5A800) !important;
}

html.a11y-inverted-contrast .gallery-view-toggle {
  background: #1e1e1e !important;
  background-color: #1e1e1e !important;
  border: 1px solid #383838 !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.4) !important;
}

html.a11y-inverted-contrast .view-toggle-label {
  background: transparent !important;
  background-color: transparent !important;
  color: #a0a0a0 !important;
  border: none !important;
}

html.a11y-inverted-contrast .view-toggle-label:hover {
  color: #ffffff !important;
  background-color: rgba(255, 255, 255, 0.1) !important;
}

html.a11y-inverted-contrast .btn-check:checked + .view-toggle-label {
  background-color: var(--utn-color-brand, #F5A800) !important;
  color: #121212 !important;
  box-shadow: 0 4px 10px rgba(245, 168, 0, 0.4) !important;
}

html.a11y-inverted-contrast .gallery-filter-label {
  color: var(--utn-color-brand, #F5A800) !important;
  font-weight: 700 !important;
}

html.a11y-inverted-contrast .gallery-filter-select option {
  background: #252525 !important;
  color: #ffffff !important;
}

html.a11y-inverted-contrast .gallery-folder-card__body {
  background-color: #1e1e1e !important;
}

html.a11y-inverted-contrast .gallery-folder-card__title a {
  color: #ffffff !important;
}

html.a11y-inverted-contrast .gallery-folder-card__title a:hover {
  color: var(--utn-color-brand, #F5A800) !important;
}

html.a11y-inverted-contrast .gallery-folder-card__date {
  color: var(--utn-color-brand, #F5A800) !important;
}

/* 12. PLATAFORMAS DE COMUNIDAD: Estudiantes, Docentes, Graduados, NoDocentes, Investigadores */
html.a11y-inverted-contrast .estudiantes-section,
html.a11y-inverted-contrast .estudiantes-page,
html.a11y-inverted-contrast .plataformas-page {
  background-color: #121212 !important;
}

html.a11y-inverted-contrast .estudiantes-quick-access__link {
  color: #ffffff !important;
}

html.a11y-inverted-contrast .estudiantes-quick-access__link:hover {
  background: #282828 !important;
  border-color: var(--utn-color-brand, #F5A800) !important;
}

html.a11y-inverted-contrast .estudiantes-quick-access__title {
  color: #ffffff !important;
}

html.a11y-inverted-contrast .estudiantes-quick-access__arrow {
  color: var(--utn-color-brand, #F5A800) !important;
}

/* Enlaces de Interés (Docentes y NoDocentes) */
html.a11y-inverted-contrast :is(
  .featured-icon-wrapper,
  .concursos-icon-circle,
  .card-icon-wrapper,
  .dashboard-icon
) {
  background-color: #2a2a2a !important;
  color: var(--utn-color-brand, #F5A800) !important;
}

html.a11y-inverted-contrast :is(
  .interest-featured-card,
  .concursos-card,
  .horizontal-calendar-card,
  .info-dashboard-card,
  .job-card-interactive,
  .oportunidades-card,
  .cv-recomendaciones-card,
  .censo-container-card,
  .investigacion-card,
  .courses-intro-card
) {
  background-color: var(--a11y-surface) !important;
  border: 1px solid var(--a11y-border) !important;
  color: var(--a11y-text) !important;
}

html.a11y-inverted-contrast .interest-featured-card {
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.4) !important;
}

html.a11y-inverted-contrast .interest-featured-card:hover {
  background: #282828 !important;
  border-color: var(--utn-color-brand, #F5A800) !important;
}

html.a11y-inverted-contrast .featured-card-title {
  color: #ffffff !important;
}

html.a11y-inverted-contrast .featured-card-desc {
  color: #cbd5e1 !important;
}

html.a11y-inverted-contrast .featured-icon-wrapper {
  border: 1px solid #444444 !important;
}

html.a11y-inverted-contrast .featured-card-arrow {
  color: var(--utn-color-brand, #F5A800) !important;
}

html.a11y-inverted-contrast .student-card-modern .card-title {
  color: #ffffff !important;
}

html.a11y-inverted-contrast .student-card-modern .card-text {
  color: #cbd5e1 !important;
}

html.a11y-inverted-contrast .calendar-card-title {
  color: #ffffff !important;
}

html.a11y-inverted-contrast .calendar-dates {
  color: #cbd5e1 !important;
}

html.a11y-inverted-contrast .schedule-card {
  border-bottom: 4px solid var(--utn-color-brand, #F5A800) !important;
  color: #ffffff !important;
}

html.a11y-inverted-contrast .schedule-title {
  color: #ffffff !important;
}

html.a11y-inverted-contrast .schedule-meta {
  color: #cbd5e1 !important;
}

html.a11y-inverted-contrast .btn-card-action,
html.a11y-inverted-contrast .btn-schedule-action {
  background-color: var(--utn-color-brand, #F5A800) !important;
  color: #121212 !important;
  font-weight: 700 !important;
}

html.a11y-inverted-contrast .dashboard-card-title {
  color: #ffffff !important;
}

html.a11y-inverted-contrast .dashboard-card-link {
  color: var(--utn-color-brand, #F5A800) !important;
}

/* Graduados: Trámite de Solicitud de Título */
html.a11y-inverted-contrast .tramite-step::before,
html.a11y-inverted-contrast .tramite-step::after {
  background-color: #383838 !important;
}

html.a11y-inverted-contrast .tramite-step-number {
  background-color: var(--utn-color-brand, #F5A800) !important;
  color: #121212 !important;
  box-shadow: 0 4px 10px rgba(245, 168, 0, 0.3) !important;
}

html.a11y-inverted-contrast .tramite-step-content {
  background: #1e1e1e !important;
  background-color: #1e1e1e !important;
  border: 1px solid #383838 !important;
  color: #ffffff !important;
}

html.a11y-inverted-contrast .tramite-step:hover .tramite-step-content {
  border-color: var(--utn-color-brand, #F5A800) !important;
  background: #252525 !important;
}

html.a11y-inverted-contrast .tramite-step-title {
  color: #ffffff !important;
}

html.a11y-inverted-contrast .tramite-step-desc {
  color: #cbd5e1 !important;
}

/* Buscador compartido de Empleo / Graduados / Investigación */
html.a11y-inverted-contrast .empleo-search-group:focus-within {
  border-color: var(--utn-color-brand, #F5A800) !important;
}

html.a11y-inverted-contrast .empleo-search-icon {
  color: var(--utn-color-brand, #F5A800) !important;
}

html.a11y-inverted-contrast .empleo-filter-label {
  color: var(--utn-color-brand, #F5A800) !important;
  font-weight: 700 !important;
}

html.a11y-inverted-contrast .empleo-filter-select option {
  background: #252525 !important;
  color: #ffffff !important;
}

/* Ofertas de trabajo e interacción */
html.a11y-inverted-contrast .job-badge-presencial,
html.a11y-inverted-contrast .job-badge-hibrido,
html.a11y-inverted-contrast .job-badge-remoto,
html.a11y-inverted-contrast .job-badge-empleo,
html.a11y-inverted-contrast .job-badge-pasantia {
  background-color: #2a2a2a !important;
  color: #ffffff !important;
  border: 1px solid #444444 !important;
}

/* Empresas / Oportunidades */
html.a11y-inverted-contrast .oportunidades-badge {
  background-color: #2a2a2a !important;
  color: var(--utn-color-brand, #F5A800) !important;
  border: 1px solid #444444 !important;
}

html.a11y-inverted-contrast .oportunidades-title {
  color: #ffffff !important;
}

html.a11y-inverted-contrast .oportunidades-underline {
  background-color: var(--utn-color-brand, #F5A800) !important;
}

html.a11y-inverted-contrast .oportunidades-text {
  color: #cbd5e1 !important;
}

html.a11y-inverted-contrast .btn-publicar-busqueda {
  background: var(--utn-color-brand, #F5A800) !important;
  color: #121212 !important;
  border: 1px solid var(--utn-color-brand, #F5A800) !important;
  font-weight: 700 !important;
}

/* Recomendaciones CV */
html.a11y-inverted-contrast :is(
  .cv-item-card,
  .cv-callout-card,
  .cv-rec-card,
  .censo-stat-box
) {
  background: #252525 !important;
  background-color: #252525 !important;
  color: #ffffff !important;
}

html.a11y-inverted-contrast .cv-badge {
  background-color: #2a2a2a !important;
  color: var(--utn-color-brand, #F5A800) !important;
  border: 1px solid #444444 !important;
}

html.a11y-inverted-contrast .cv-title {
  color: #ffffff !important;
}

html.a11y-inverted-contrast .cv-underline {
  background-color: var(--utn-color-brand, #F5A800) !important;
}

html.a11y-inverted-contrast .cv-item-card {
  border: 1px solid #383838 !important;
}

html.a11y-inverted-contrast .cv-item-card:hover {
  border-color: var(--utn-color-brand, #F5A800) !important;
}

html.a11y-inverted-contrast .cv-item-title {
  color: #ffffff !important;
}

html.a11y-inverted-contrast .cv-item-desc {
  color: #cbd5e1 !important;
}

html.a11y-inverted-contrast .cv-callout-card {
  border: 1px solid #444444 !important;
}

html.a11y-inverted-contrast .cv-callout-icon {
  background-color: var(--utn-color-brand, #F5A800) !important;
  color: #121212 !important;
}

html.a11y-inverted-contrast .cv-callout-text-main {
  color: #e2e8f0 !important;
}

html.a11y-inverted-contrast .cv-callout-text-highlight {
  color: var(--utn-color-brand, #F5A800) !important;
}

html.a11y-inverted-contrast .cv-rec-card {
  border: 1px solid #383838 !important;
}

html.a11y-inverted-contrast .cv-rec-title {
  color: #ffffff !important;
}

html.a11y-inverted-contrast .cv-rec-text {
  color: #cbd5e1 !important;
}

/* Censo de Graduados */
html.a11y-inverted-contrast .censo-stat-box {
  border: 1px solid #383838 !important;
}

html.a11y-inverted-contrast .censo-stat-box:hover {
  border-color: var(--utn-color-brand, #F5A800) !important;
}

html.a11y-inverted-contrast .censo-stat-value {
  color: var(--utn-color-brand, #F5A800) !important;
}

html.a11y-inverted-contrast .censo-stat-label {
  color: #cbd5e1 !important;
}

html.a11y-inverted-contrast .censo-flyer-card {
  background: #1e1e1e !important;
  background-color: #1e1e1e !important;
  border: 1px solid #383838 !important;
  color: #ffffff !important;
}

html.a11y-inverted-contrast .censo-flyer-header {
  background: #252525 !important;
  background-image: none !important;
  border-bottom: 1px solid #383838 !important;
  color: #ffffff !important;
}

html.a11y-inverted-contrast .censo-flyer-header h5 {
  color: #ffffff !important;
}

html.a11y-inverted-contrast .censo-flyer-header p {
  color: #cbd5e1 !important;
}

html.a11y-inverted-contrast .censo-flyer-preview {
  background: #181818 !important;
  background-color: #181818 !important;
  border-color: #383838 !important;
}

html.a11y-inverted-contrast .censo-flyer-preview > div {
  background: #222222 !important;
  background-color: #222222 !important;
  background-image: none !important;
  border: 1.5px dashed var(--utn-color-brand, #F5A800) !important;
  color: #ffffff !important;
}

html.a11y-inverted-contrast .censo-flyer-preview h6,
html.a11y-inverted-contrast .censo-flyer-preview .text-dark {
  color: #ffffff !important;
}

html.a11y-inverted-contrast .censo-flyer-preview p,
html.a11y-inverted-contrast .censo-flyer-preview .text-muted {
  color: #cbd5e1 !important;
}

html.a11y-inverted-contrast .censo-flyer-preview i {
  color: var(--utn-color-brand, #F5A800) !important;
}

html.a11y-inverted-contrast .censo-flyer-card .p-3.bg-white,
html.a11y-inverted-contrast .censo-flyer-card .border-top {
  background: #1e1e1e !important;
  background-color: #1e1e1e !important;
  border-color: #383838 !important;
}

html.a11y-inverted-contrast .censo-flyer-card .btn-outline-primary {
  background: var(--utn-color-brand, #F5A800) !important;
  color: #121212 !important;
  border: 1px solid var(--utn-color-brand, #F5A800) !important;
  font-weight: 700 !important;
}

html.a11y-inverted-contrast .censo-flyer-card .btn-outline-primary:hover {
  background: #d99400 !important;
  color: #000000 !important;
}

/* Modales de Flyer del Censo */
html.a11y-inverted-contrast #verFlyerModal1 .modal-body > div,
html.a11y-inverted-contrast #verFlyerModal2 .modal-body > div {
  background: #222222 !important;
  background-color: #222222 !important;
  border-color: #383838 !important;
  color: #ffffff !important;
}

html.a11y-inverted-contrast #verFlyerModal1 .modal-body h5,
html.a11y-inverted-contrast #verFlyerModal2 .modal-body h5,
html.a11y-inverted-contrast #verFlyerModal1 .modal-body p,
html.a11y-inverted-contrast #verFlyerModal2 .modal-body p,
html.a11y-inverted-contrast #verFlyerModal1 .modal-body li,
html.a11y-inverted-contrast #verFlyerModal2 .modal-body li {
  color: #ffffff !important;
}

/* Investigación */
html.a11y-inverted-contrast .investigacion-card-title {
  color: #ffffff !important;
}

html.a11y-inverted-contrast .investigacion-card-code {
  background-color: #252525 !important;
  border: 1px solid #383838 !important;
  color: #ffd15c !important;
}

html.a11y-inverted-contrast .investigacion-search-input {
  background-color: #252525 !important;
  border: 1px solid #444444 !important;
  color: #ffffff !important;
}

html.a11y-inverted-contrast .investigacion-modal .modal-content {
  background-color: #1e1e1e !important;
  color: #ffffff !important;
}

html.a11y-inverted-contrast .investigacion-modal .modal-header {
  background-color: #252525 !important;
  border-bottom: 1px solid #383838 !important;
}

/* 13. EXTENSIÓN Y CULTURA */
html.a11y-inverted-contrast .subnavbar-extension,
html.a11y-inverted-contrast .extension-nav-wrapper {
  background-color: #181818 !important;
  border-bottom: 1px solid #333333 !important;
}

html.a11y-inverted-contrast .extension-nav-btn {
  color: #e0e0e0 !important;
}

html.a11y-inverted-contrast .extension-nav-btn.active {
  background-color: var(--utn-color-brand, #F5A800) !important;
  color: #121212 !important;
  border-color: var(--utn-color-brand, #F5A800) !important;
  font-weight: 700 !important;
}

html.a11y-inverted-contrast .courses-intro-title {
  color: #ffffff !important;
}

html.a11y-inverted-contrast .courses-intro-text {
  color: #e2e8f0 !important;
}

html.a11y-inverted-contrast .courses-intro-list li {
  color: #cbd5e1 !important;
}

html.a11y-inverted-contrast .card-novedad-extension {
  background-color: #1e1e1e !important;
  border: 1px solid #383838 !important;
}

html.a11y-inverted-contrast .folder-card {
  background-color: #1e1e1e !important;
  border-color: #383838 !important;
  color: #ffffff !important;
}

html.a11y-inverted-contrast .folder-card h5,
html.a11y-inverted-contrast .folder-card h6 {
  color: #ffffff !important;
}

html.a11y-inverted-contrast .download-card {
  background-color: #252525 !important;
  border-color: #383838 !important;
  color: #ffffff !important;
}

html.a11y-inverted-contrast .download-card:hover {
  border-color: var(--utn-color-brand, #F5A800) !important;
}

html.a11y-inverted-contrast .download-card .btn-outline-warning {
  background: var(--utn-color-brand, #F5A800) !important;
  color: #121212 !important;
  border-color: var(--utn-color-brand, #F5A800) !important;
}

html.a11y-inverted-contrast .download-card .btn-outline-warning:hover {
  background: #d99400 !important;
  color: #000000 !important;
}

html.a11y-inverted-contrast .extension-contact-footer {
  background-color: #0f0f0f !important;
  border-top: 1px solid #282828 !important;
}

/* 14. ELEMENTOS GENERALES: Tarjetas, Paneles, Modales y Acordeones */
html.a11y-inverted-contrast .card,
html.a11y-inverted-contrast .accordion-item,
html.a11y-inverted-contrast .modal-content,
html.a11y-inverted-contrast .bg-white,
html.a11y-inverted-contrast .bg-light,
html.a11y-inverted-contrast .bg-light-gray,
html.a11y-inverted-contrast .list-group-item {
  background: var(--a11y-surface) !important;
  background-color: var(--a11y-surface) !important;
  background-image: none !important;
  color: var(--a11y-text-secondary) !important;
  border-color: var(--a11y-border) !important;
}

html.a11y-inverted-contrast .accordion-body {
  background-color: #1a1a1a !important;
  color: #f0f0f0 !important;
}

html.a11y-inverted-contrast .accordion-button {
  background-color: #242424 !important;
  color: #ffffff !important;
  border-color: #383838 !important;
}

html.a11y-inverted-contrast .accordion-button:not(.collapsed) {
  background-color: #2e2e2e !important;
  color: var(--utn-color-brand, #F5A800) !important;
}

html.a11y-inverted-contrast .accordion-button::after {
  filter: invert(1) !important;
}

html.a11y-inverted-contrast .btn-close {
  filter: invert(1) grayscale(100%) brightness(200%) !important;
}

/* Formularios */
html.a11y-inverted-contrast :is(
  input, select, textarea, .form-control, .form-select
) {
  background-color: #222222 !important;
  color: var(--a11y-text) !important;
  border-color: var(--a11y-border) !important;
}

html.a11y-inverted-contrast input::placeholder,
html.a11y-inverted-contrast textarea::placeholder {
  color: #888888 !important;
}

html.a11y-inverted-contrast :is(
  input, select, textarea, .form-control, .form-select
):focus {
  border-color: var(--utn-color-brand, #F5A800) !important;
  outline: 2px solid var(--utn-color-brand, #F5A800) !important;
}

/* Botones y Paginación */
html.a11y-inverted-contrast .btn-primary {
  background-color: var(--utn-color-brand, #F5A800) !important;
  color: #121212 !important;
  border-color: var(--utn-color-brand, #F5A800) !important;
  font-weight: 700 !important;
}

html.a11y-inverted-contrast .btn-secondary,
html.a11y-inverted-contrast .btn-outline-primary,
html.a11y-inverted-contrast .btn-outline-secondary {
  background-color: transparent !important;
  border-color: #888888 !important;
  color: #ffffff !important;
}

html.a11y-inverted-contrast .btn-dark {
  background-color: var(--utn-color-brand, #F5A800) !important;
  color: #121212 !important;
  border-color: var(--utn-color-brand, #F5A800) !important;
  font-weight: 700 !important;
}

html.a11y-inverted-contrast .btn-dark span,
html.a11y-inverted-contrast .btn-dark i {
  color: #121212 !important;
}

html.a11y-inverted-contrast .btn-dark:hover,
html.a11y-inverted-contrast .btn-dark:focus {
  background-color: #d99400 !important;
  color: #000000 !important;
  border-color: #d99400 !important;
}

html.a11y-inverted-contrast .btn-outline-dark {
  background-color: transparent !important;
  color: #ffffff !important;
  border: 2px solid #ffffff !important;
  font-weight: 700 !important;
}

html.a11y-inverted-contrast .btn-outline-dark span,
html.a11y-inverted-contrast .btn-outline-dark i {
  color: #ffffff !important;
}

html.a11y-inverted-contrast .btn-outline-dark:hover,
html.a11y-inverted-contrast .btn-outline-dark:focus {
  background-color: #ffffff !important;
  color: #121212 !important;
  border-color: #ffffff !important;
}

html.a11y-inverted-contrast .btn-outline-dark:hover span,
html.a11y-inverted-contrast .btn-outline-dark:hover i,
html.a11y-inverted-contrast .btn-outline-dark:focus span,
html.a11y-inverted-contrast .btn-outline-dark:focus i {
  color: #121212 !important;
}

html.a11y-inverted-contrast .site-pagination__btn {
  background-color: #222222 !important;
  border-color: #444444 !important;
  color: #ffffff !important;
}

html.a11y-inverted-contrast .site-pagination__center {
  background-color: var(--utn-color-brand, #F5A800) !important;
  color: #121212 !important;
  border-color: var(--utn-color-brand, #F5A800) !important;
}

/* Tablas */
html.a11y-inverted-contrast :is(table, th, td) {
  border-color: var(--a11y-border) !important;
  color: var(--a11y-text-secondary) !important;
}

html.a11y-inverted-contrast th {
  background-color: var(--a11y-surface-muted) !important;
  color: var(--a11y-text) !important;
}

/* Footer y Scroll to Top */
html.a11y-inverted-contrast .site-footer {
  background-color: #0f0f0f !important;
  border-top: 1px solid #282828 !important;
  color: var(--a11y-text-secondary) !important;
}

html.a11y-inverted-contrast .footer-col-title {
  color: #ffffff !important;
}

html.a11y-inverted-contrast .footer-col-links a,
html.a11y-inverted-contrast .footer-social a {
  color: #cccccc !important;
  text-decoration: none !important;
}

html.a11y-inverted-contrast .footer-col-links a:hover,
html.a11y-inverted-contrast .footer-social a:hover {
  color: var(--utn-color-brand, #F5A800) !important;
}

html.a11y-inverted-contrast #scroll-to-top {
  background-color: #1e1e1e !important;
  color: var(--utn-color-brand, #F5A800) !important;
  border: 1px solid var(--utn-color-brand, #F5A800) !important;
}

html.a11y-inverted-contrast #scroll-to-top:hover {
  background-color: var(--utn-color-brand, #F5A800) !important;
  color: #121212 !important;
}

/* 15. PANEL DE ACCESIBILIDAD EN CONTRASTE NEGATIVO */
html.a11y-inverted-contrast .a11y-panel {
  background-color: var(--a11y-surface) !important;
  color: var(--a11y-text) !important;
  border: 1px solid var(--a11y-border) !important;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.6) !important;
}

html.a11y-inverted-contrast .a11y-panel__header-title,
html.a11y-inverted-contrast .a11y-panel__label {
  color: #ffffff !important;
}

html.a11y-inverted-contrast .a11y-panel__close-btn {
  color: #aaaaaa !important;
}

html.a11y-inverted-contrast .a11y-panel__close-btn:hover {
  color: #ffffff !important;
  background-color: rgba(255, 255, 255, 0.1) !important;
}

html.a11y-inverted-contrast .a11y-panel__divider {
  border-top-color: #333333 !important;
}

html.a11y-inverted-contrast .a11y-reset-btn {
  background-color: #2a2a2a !important;
  color: #ffffff !important;
  border-color: #444444 !important;
}

html.a11y-inverted-contrast .a11y-reset-btn:hover {
  background-color: #383838 !important;
}

html.a11y-inverted-contrast .a11y-floating-btn {
  background-color: #1e1e1e !important;
  color: var(--utn-color-brand, #F5A800) !important;
  border-color: var(--utn-color-brand, #F5A800) !important;
}

html.a11y-inverted-contrast .a11y-switch__track {
  background-color: #3a3a3a !important;
  border-color: #555555 !important;
}

html.a11y-inverted-contrast .a11y-switch[aria-checked="true"] .a11y-switch__track,
html.a11y-inverted-contrast .a11y-switch.active .a11y-switch__track {
  background-color: var(--utn-color-brand, #F5A800) !important;
  border-color: var(--utn-color-brand, #F5A800) !important;
}

html.a11y-inverted-contrast .a11y-switch[aria-checked="true"] .a11y-switch__thumb,
html.a11y-inverted-contrast .a11y-switch.active .a11y-switch__thumb {
  background-color: #121212 !important;
}

/* --------------------------------------------------------------------------
   Modo 4: Subrayar Enlaces
   -------------------------------------------------------------------------- */
html.a11y-underline-links a:not(.btn):not(.navbar-brand):not(.site-pagination__btn):not(.site-pagination__center):not(.a11y-floating-btn):not(.footer-social a) {
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
  text-decoration-thickness: 1.5px !important;
}

html.a11y-underline-links a:not(.btn):not(.navbar-brand):not(.site-pagination__btn):not(.site-pagination__center):not(.a11y-floating-btn):not(.footer-social a):hover,
html.a11y-underline-links a:not(.btn):not(.navbar-brand):not(.site-pagination__btn):not(.site-pagination__center):not(.a11y-floating-btn):not(.footer-social a):focus {
  text-decoration-thickness: 2.5px !important;
}

/* --------------------------------------------------------------------------
   Modo 5: Texto Más Grande (Escalado armónico sin doble multiplicación)
   -------------------------------------------------------------------------- */
/* Escalado controlado y armónico en el elemento raíz */
html.a11y-large-text {
  font-size: 125%;
}

/* Mejora sutil del interlineado en párrafos y bloques de lectura */
html.a11y-large-text p,
html.a11y-large-text .lead,
html.a11y-large-text .carreras-introduccion,
html.a11y-large-text .site-main-content p {
  line-height: 1.65;
}

/* Protección del navbar en desktop para evitar desbordes en una segunda fila */
@media (min-width: 1200px) {
  html.a11y-large-text #main-header .navbar-nav .nav-link {
    font-size: 12.5px;
    padding: 6px 5px;
    letter-spacing: 0.02em;
  }

  html.a11y-large-text #main-header .navbar-search-submit {
    font-size: 12.5px;
    padding: 6px 5px;
  }
}

/* Protección de altura en cabeceras de páginas para títulos largos */
html.a11y-large-text .site-page-header {
  min-height: 160px;
  height: auto;
  padding-top: 1rem;
  padding-bottom: 1rem;
}

/* Protección en el espacio vertical de títulos en tarjetas de carreras */
html.a11y-large-text .carrera-titulo-intermedio {
  min-height: 3.2em;
}

/* El panel de accesibilidad conserva dimensiones exactas */
html.a11y-large-text .a11y-panel {
  font-size: 0.95rem;
}

html.a11y-large-text .a11y-panel__label {
  font-size: 0.88rem;
}

html.a11y-large-text .a11y-panel__heading {
  font-size: 1.05rem;
}

html.a11y-large-text .a11y-reset-btn {
  font-size: 0.88rem;
}

/* --------------------------------------------------------------------------
   5. Adaptación Responsive y Móvil
   -------------------------------------------------------------------------- */
@media (max-width: 767.98px) {
  .a11y-widget {
    bottom: 20px;
    left: 20px;
  }

  .a11y-floating-btn {
    width: 44px;
    height: 44px;
  }

  .a11y-floating-btn__icon {
    width: 22px;
    height: 22px;
  }

  .a11y-panel {
    bottom: 74px;
    left: 16px;
    right: 16px;
    width: auto;
    max-width: calc(100vw - 32px);
    padding: 1rem;
  }

  .a11y-panel__label {
    font-size: 0.85rem;
  }
}
