/* =========================================================
   EDOS — Plantilla limpia
   - Menú flotante tipo EDUP (glass)
   - Banner con desplazamiento
   - Listados de artículos en 2 columnas (Blog/Featured/Módulo)
   - Tarjetas pro: hover, chips, zoom imagen, leer más
   - Artículos individuales con margen/estética
   ========================================================= */

/* --------- Tokens / variables --------- */
:root{
  --font-ui: system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji";
  --ink:    #1d2b3a;
  --brand:  #0054a6;
  --accent: #f7a600;
  --surface:#ffffff;

  --radius: 14px;
  --elev1:  0 6px 18px rgba(0,0,0,.06);
  --elev2:  0 14px 32px rgba(0,0,0,.14);

  /* alturas que rellena tu JS */
  --nav-h: 72px;      /* altura nav (JS) */
  --govbar-h: 0px;    /* altura barra GOV.CO (JS) */
}

body{
    margin: 0;
    padding: 0;
    /* Los márgenes laterales se aplican solo al contenido principal, no a las barras */
}

/* =========================================================
   NAV — Barra flotante tipo EDUP
   ========================================================= */

html.has-fixed-nav main{
  padding-top: calc(var(--govbar-h, 0px) + var(--nav-h, 72px));
}

#main-nav{
  position: fixed;
  left: 0; right: 0; width: 100%;
  top: var(--govbar-h, 0px);
  z-index: 1000;
  background: transparent !important;
  overflow: visible;
}

#main-nav.past-govbar{ top: 0; }

#main-nav .nav-inner{
  width: min(96%, 1300px);
  margin: 6px auto;
  padding: .6rem .9rem;
  border-radius: 12px;
  background: rgba(255,255,255,0.68);
  -webkit-backdrop-filter: saturate(180%) blur(10px);
  backdrop-filter: saturate(180%) blur(10px);
  box-shadow: 0 10px 24px rgba(0,0,0,0.10);
  display: flex;
  align-items: center;
  gap: 1rem;
  overflow: visible;
}
#main-nav.scrolled .nav-inner{
  background: rgba(255,255,255,0.82);
  box-shadow: 0 12px 28px rgba(0,0,0,0.12);
}

/* Logo a la izquierda */
#main-nav .brand{ display:inline-flex; align-items:center; flex:0 0 auto; }
#main-nav .brand-logo{ height:46px; width:auto; object-fit:contain; display:block; }
@media (max-width: 991.98px){ #main-nav .brand-logo{ height:40px; } }

/* Menú superior en fila (solo primer nivel) */
#main-nav .nav-menu{ flex:1 1 auto; min-width:0; }
#main-nav .nav-menu > .mod-menu,
#main-nav .nav-menu > .mod-list,
#main-nav .nav-menu > ul{
  display:flex; align-items:center; gap:.75rem; margin:0; padding:0;
}
#main-nav ul{ list-style:none; margin:0; padding:0; }
#main-nav ul ul,
#main-nav .mod-menu ul,
#main-nav .mod-list ul{ display:block !important; } /* submenús nunca flex */

/* Links de primer nivel */
#main-nav a, #main-nav span, #main-nav strong{
  color: var(--ink); text-decoration:none; font-family:var(--font-ui);
  font-weight:600; font-size:.95rem; line-height:1.2;
  padding:.5rem .65rem; border-radius:8px; transition: color .2s, background .2s;
  white-space:nowrap;
}
#main-nav a:hover{ color:var(--brand); background:rgba(0,0,0,.04); }
#main-nav li.active > a, #main-nav li.current > a{
  color:var(--brand); background:rgba(0,102,204,.12);
}

/* Submenús (desktop) */
@media (min-width: 992px){
  #main-nav .nav-menu > .mod-menu > li,
  #main-nav .nav-menu > .mod-list > li,
  #main-nav .nav-menu > ul > li{ position:relative; }

  #main-nav .nav-menu > .mod-menu > li > ul,
  #main-nav .nav-menu > .mod-list > li > ul,
  #main-nav .nav-menu > ul > li > ul{
    position:absolute; top:calc(100% + 6px); left:0; min-width:240px;
    padding:.4rem 0; background:#fff; border:1px solid rgba(0,0,0,.08);
    border-radius:12px; box-shadow:0 14px 28px rgba(0,0,0,.14); z-index:2000;
    visibility:hidden; opacity:0; transform:translateY(6px);
    transition: opacity .14s, transform .14s, visibility .14s;
  }
  #main-nav .nav-menu > .mod-menu > li:hover > ul,
  #main-nav .nav-menu > .mod-list > li:hover > ul,
  #main-nav .nav-menu > ul > li:hover > ul{
    visibility:visible; opacity:1; transform:translateY(0);
  }

  /* segundo nivel a la derecha */
  #main-nav .nav-menu > .mod-menu > li > ul > li,
  #main-nav .nav-menu > .mod-list > li > ul > li,
  #main-nav .nav-menu > ul > li > ul > li{ position:relative; }

  #main-nav .nav-menu > .mod-menu > li > ul > li > ul,
  #main-nav .nav-menu > .mod-list > li > ul > li > ul,
  #main-nav .nav-menu > ul > li > ul > li > ul{
    position:absolute; top:-6px; left:100%; margin-left:.25rem; min-width:240px;
    padding:.4rem 0; background:#fff; border:1px solid rgba(0,0,0,.08);
    border-radius:12px; box-shadow:0 14px 28px rgba(0,0,0,.14);
    visibility:hidden; opacity:0; transform:translateY(6px);
    transition: opacity .14s, transform .14s, visibility .14s;
  }
  #main-nav .nav-menu > .mod-menu > li > ul > li:hover > ul,
  #main-nav .nav-menu > .mod-list > li > ul > li:hover > ul,
  #main-nav .nav-menu > ul > li > ul > li:hover > ul{
    visibility:visible; opacity:1; transform:translateY(0);
  }
}

/* Submenús (móvil: acordeón .show-sub desde JS) */
@media (max-width: 991.98px){
  #main-nav .nav-menu > .mod-menu,
  #main-nav .nav-menu > .mod-list,
  #main-nav .nav-menu > ul{ flex-direction:column; gap:.25rem; }

  #main-nav ul ul{
    position:static; border:0; box-shadow:none;
    padding:.25rem 0 .25rem .5rem; margin-left:.5rem; border-left:2px solid #efefef;
    display:none !important; visibility:visible; opacity:1; transform:none;
  }
  #main-nav li.show-sub > ul{ display:block !important; }
}

/* Accesibilidad y stacking */
#main-nav, #main-nav .container, #main-nav .mod-menu{
  position:relative; overflow:visible !important; z-index:1000;
}
#main-nav a:focus{ outline:2px solid var(--brand); outline-offset:2px; }

/* Estilos para el menú móvil */
.hamburger {
    display: none;
    flex-direction: column;
    justify-content: space-between;
    width: 30px;
    height: 20px;
    background: transparent;
    border: none;
    cursor: pointer;
    padding: 0;
    z-index: 100;
}

.hamburger span {
    display: block;
    width: 100%;
    height: 2px;
    background: #333;
    transition: all 0.3s ease;
}

@media screen and (max-width: 768px) {
    .hamburger {
        display: flex;
    }

    .nav-menu {
        display: none;
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100vh;
        background: white;
        padding: 80px 20px 20px;
        overflow-y: auto;
        z-index: 99;
    }

    .nav-menu.active {
        display: block;
    }

    .hamburger.active span:nth-child(1) {
        transform: rotate(45deg) translate(5px, 5px);
    }

    .hamburger.active span:nth-child(2) {
        opacity: 0;
    }

    .hamburger.active span:nth-child(3) {
        transform: rotate(-45deg) translate(7px, -6px);
    }

    /* Ajustes para el menú móvil */
    .mod-menu {
        padding: 0;
    }

    .mod-menu li {
        margin: 10px 0;
    }

    .mod-menu a, 
    .mod-menu span.mod-menu__heading {
        display: block;
        padding: 10px 0;
    }

    /* Ajustes para submenús */
    .mod-menu__sub {
        display: none;
        padding-left: 20px;
    }

    .deeper.parent.active > .mod-menu__sub {
        display: block;
    }
}

/* Estilos para el menú de transparencia */
.submenu-transparencia {
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
  
}

/* Contenedor principal */
.navbar-expand-md {
  width: 100%;
}

/* Estilos para los items del menú */
.submenu-transparencia .nav-item {
  width: 100%;
  margin: 0;
  border-bottom: 1px solid rgba(0,0,0,0.1);
}

/* Estilos para los encabezados del menú */
.submenu-transparencia .mod-menu__heading {
  display: block;
  padding: 15px;
  background: #154734;
  color: #fff;
  cursor: pointer;
  position: relative;
  transition: all 0.3s ease;
}

/* Icono para indicar expansión */
.submenu-transparencia .deeper.parent > .mod-menu__heading::after {
  content: '+';
  position: absolute;
  right: 15px;
  transition: transform 0.3s ease;
}

/* Rotar icono cuando está expandido */
.submenu-transparencia .deeper.parent.active > .mod-menu__heading::after {
  transform: rotate(45deg);
}

/* Submenús */
.submenu-transparencia .mod-menu__sub {
  display: none;
  background: #f9f9f9;
  padding: 0;
}

/* Mostrar submenús cuando el padre está activo */
.submenu-transparencia .deeper.parent.active > .mod-menu__sub {
  display: block;
}

/* Enlaces dentro de los submenús y enlaces directos del menú principal */
.submenu-transparencia .mod-menu__sub a,
.submenu-transparencia > .nav-item > a {
  display: block;
  padding: 10px 15px 10px 30px;
  color: #333;
  text-decoration: none;
  transition: all 0.3s ease;
}

/* Enlaces directos en el menú principal */
.submenu-transparencia > .nav-item > a {
  background: #154734;
  color: #fff;
  padding: 15px;
  font-weight: bold;
}

.submenu-transparencia .mod-menu__sub a:hover,
.submenu-transparencia > .nav-item > a:hover {
  background: #A3B947;
  color: #fff;
}

/* Estilos responsive */
@media (max-width: 768px) {
  .navbar-collapse {
    width: 100%;
  }
  
  .submenu-transparencia .mod-menu__heading {
    padding: 12px 15px;
  }
  
  .submenu-transparencia .mod-menu__sub a {
    padding: 10px 15px 10px 25px;
  }
}

/* Animaciones suaves */
.submenu-transparencia .mod-menu__sub {
  transition: all 0.3s ease-in-out;
}

/* Estado activo para items actuales */
.submenu-transparencia .nav-item.active > a,
.submenu-transparencia .nav-item.active > .mod-menu__heading,
.submenu-transparencia > .nav-item.active > a {
  background: #A3B947;
  color: #fff;
  border-left: 6px solid var(--ac-accent);
}

/* Estilos específicos para elementos sin submenús */
.submenu-transparencia > .nav-item:not(.deeper):not(.parent) > a {
  position: relative;
  transition: all 0.3s ease;
}

.submenu-transparencia > .nav-item:not(.deeper):not(.parent) > a:hover {
  background: #A3B947;
  color: #fff;
  padding-left: 21px; /* 15px + 6px del borde */
  border-left: 6px solid var(--ac-accent);
}

/* =========================================================
   BANNER — pequeño desplazamiento hacia abajo
   ========================================================= */
.hero-banner{ padding-top:.6rem; }
#main-nav + *{ margin-top:.6rem; } /* fallback si no usas .hero-banner */
.hero-banner img, #main-nav + * img{ border-radius:8px; }

/* =========================================================
   LISTADOS — 2 columnas en Blog / Featured / Módulo Artículos
   (mantiene 1 columna en móvil)
   ========================================================= */

/* Blog de categoría y destacados (com_content) */
.blog .items-row,
.blog .items-leading,
.com-content-category-blog__items,
.blog-featured .items-row,
.blog-featured .items-leading{
  display: grid !important;
  gap: 1.2rem;
}
@media (min-width: 768px){
  .blog .items-row,
  .blog .items-leading,
  .com-content-category-blog__items,
  .blog-featured .items-row,
  .blog-featured .items-leading{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* Módulo "Artículos – Categoría" y Newsflash (si los usas) */
.mod-articles-category .items-row,
.newsflash{
  display: grid !important;
  gap: 1.2rem;
}
@media (min-width: 768px){
  .mod-articles-category .items-row,
  .newsflash{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* Quitamos márgenes internos de celdas porque usamos gap */
.blog .items-leading > div,
.blog .items-row > div,
.com-content-category-blog__items > div,
.blog-featured .items-leading > div,
.blog-featured .items-row > div,
.mod-articles-category .items-row > div,
.newsflash .newsflash-item{
  margin: 0 !important;
  width: 100%;
}

/* =========================================================
   TARJETAS PRO — hover, chips, zoom imagen, leer más
   ========================================================= */

.blog .items-leading > div > *,
.blog .items-row > div > *,
.com-content-category-blog__items > div > *,
.blog-featured .items-leading > div > *,
.blog-featured .items-row > div > *,
.mod-articles-category .items-row > div > *,
.newsflash .newsflash-item > *{
  background: var(--surface);
  border: 1px solid rgba(15,23,42,.06);
  border-radius: var(--radius);
  box-shadow: var(--elev1);
  padding: 1rem 1.1rem;
  transition: box-shadow .22s ease, transform .22s ease, border-color .22s ease;
}

.blog .items-leading > div > *:hover,
.blog .items-row > div > *:hover,
.com-content-category-blog__items > div > *:hover,
.blog-featured .items-leading > div > *:hover,
.blog-featured .items-row > div > *:hover,
.mod-articles-category .items-row > div > *:hover,
.newsflash .newsflash-item > *:hover{
  box-shadow: var(--elev2);
  transform: translateY(-2px);
  border-color: rgba(0,84,166,.22);
  outline: 3px solid transparent; /* evita reflow */
  box-shadow: var(--elev2), inset 0 3px 0 var(--accent);
}

/* Títulos y links */
.blog .item-title a,
.blog h2 a, .blog h3 a,
.blog-featured .item-title a,
.mod-articles-category h3 a,
.newsflash .newsflash-title a{
  color: var(--ink);
  text-decoration:none;
  font-family: var(--font-ui);
  font-weight: 800;
  letter-spacing: .2px;
  background-image: linear-gradient(currentColor,currentColor);
  background-size: 0 2px; background-repeat:no-repeat; background-position: 0 100%;
  transition: color .2s ease, background-size .2s ease;
}
.blog .item-title a:hover,
.blog h2 a:hover, .blog h3 a:hover,
.blog-featured .item-title a:hover,
.mod-articles-category h3 a:hover,
.newsflash .newsflash-title a:hover{
  color: var(--brand);
  background-size: 100% 2px;
}

/* Botón Leer más */
.readmore a{
  display:inline-flex; align-items:center; gap:.35rem;
  font-weight:700; color:var(--brand); text-decoration:none;
  padding:.42rem .7rem; border-radius:10px;
  background: rgba(0,84,166,.10);
  transition: background .2s ease, transform .2s ease;
}
.readmore a::after{ content:"→"; transform:translateX(0); transition: transform .2s ease; }
.readmore a:hover{ background: rgba(0,84,166,.18); transform: translateY(-1px); }
.readmore a:hover::after{ transform: translateX(2px); }

/* Chips/metadatos */
.article-info, .newsflash .article-info{
  display:flex; gap:.45rem; flex-wrap:wrap; align-items:center;
  margin-bottom:.5rem;
}
.article-info > *, .newsflash .article-info > *{
  background: rgba(0,84,166,.08);
  color:#004a99;
  border-radius:999px;
  padding:2px 8px;
  font-size:.78rem; line-height:1.2;
}

/* Imagen con zoom suave */
.item-image,
.mod-articles-category__item .item-image,
.newsflash-item .item-image{
  overflow:hidden; border-radius:10px;
}
.item-image img,
.mod-articles-category__item .item-image img,
.newsflash-item .item-image img{
  display:block; width:100%; height:auto; border-radius:10px;
  transition: transform .4s ease;
}
.blog .items-row > div > *:hover .item-image img,
.blog .items-leading > div > *:hover .item-image img,
.blog-featured .items-row > div > *:hover .item-image img,
.blog-featured .items-leading > div > *:hover .item-image img,
.mod-articles-category .items-row > div > *:hover .item-image img,
.newsflash .newsflash-item > *:hover .item-image img{
  transform: scale(1.04);
}

/* Accesibilidad */
a:focus-visible{ outline:3px solid var(--brand); outline-offset:2px; border-radius:8px; }

/* =========================================================
   ARTÍCULO INDIVIDUAL — margenes y estética (base)
   (sin afectar listados en grilla)
   ========================================================= */
.item-page,
article[itemtype*="Article"]{
  background: rgba(255,255,255,0.96);
  border: 1px solid rgba(15,23,42,0.06);
  border-radius: var(--radius);
  box-shadow: var(--elev1);
  padding: 1.1rem 1.2rem;
  margin: 0.5cm auto;
  backdrop-filter: saturate(140%) blur(2px);
}
.item-page h1, .item-page h2, .item-page h3,
article[itemtype*="Article"] h1, article[itemtype*="Article"] h2, article[itemtype*="Article"] h3{
  color:#172b4d; letter-spacing:.2px; margin:.2rem 0 .6rem 0;
}
.item-page p, article[itemtype*="Article"] p{
  line-height:1.7; margin:.5rem 0; color:#2b3c4b;
}
.item-page img, article[itemtype*="Article"] img{
  max-width:100%; height:auto; border-radius:10px; display:block; margin:.5rem auto;
}

/* =========================================================
   PORTADA (Itemid 101) — refinamiento de márgenes
   ========================================================= */
body.itemid-101 .blog-featured{
  padding-inline: 0.8cm;    /* margen lateral más amplio */
  padding-top: 0.45cm;
}
body.itemid-101 .blog-featured .items-leading > div,
body.itemid-101 .blog-featured .items-row > div{
  margin-block: 0.5cm !important;
}
/* Si alguna tarjeta viene “pelada”, garantizamos look uniforme */
body.itemid-101 .blog-featured .items-leading > div > *:not([class*="card"]),
body.itemid-101 .blog-featured .items-row > div > *:not([class*="card"]){
  background: var(--surface);
  border: 1px solid rgba(15,23,42,.06);
  border-radius: var(--radius);
  box-shadow: var(--elev1);
  padding: 1rem 1.1rem;
}

/* =========================================================
   SOLO VISTA DE ARTÍCULO — mejoras sutiles (NO rompe nada)
   Se aplica únicamente a com_content -> view=article
   ========================================================= */

/* Fondo muy suave para que la tarjeta destaque */
body.com-content.view-article main{
  background: linear-gradient(180deg,#f6f8fb 0,#fff 260px);
}

/* Limitar ancho del contenido (sin tocar márgenes base) */
body.com-content.view-article .item-page,
body.com-content.view-article .com-content-article{
  max-width: 980px;            /* texto más cómodo de leer */
  width: 100%;
}

/* Título principal del artículo */
body.com-content.view-article .page-header h1,
body.com-content.view-article h1[itemprop="headline"]{
  font-family: var(--font-ui);
  font-weight: 800;
  color: #0f1e2e;
  letter-spacing: .2px;
  margin: 0 0 .25rem;
  font-size: clamp(1.6rem, 1rem + 2.2vw, 2.2rem);
}

/* H2 con subrayado de acento */
body.com-content.view-article .item-page h2,
body.com-content.view-article .com-content-article__body h2{
  margin: clamp(18px, 2.2vw, 30px) 0 clamp(8px, 1vw, 14px);
  font-weight: 800;
  color: #15283a;
  font-size: clamp(1.25rem, .9rem + 1.2vw, 1.7rem);
  position: relative;
  padding-bottom: .25rem;
}
body.com-content.view-article .item-page h2::after,
body.com-content.view-article .com-content-article__body h2::after{
  content:""; position:absolute; left:0; bottom:0;
  width:72px; height:3px;
  background: linear-gradient(90deg,var(--brand),rgba(0,84,166,.15));
  border-radius:3px;
}

/* Lectura cómoda en párrafos */
body.com-content.view-article .item-page p,
body.com-content.view-article .com-content-article__body p{
  color:#27364a;
  font-size: clamp(1rem, .98rem + .25vw, 1.12rem);
  line-height: 1.75;
}

/* Listas y citas */
body.com-content.view-article .item-page ul,
body.com-content.view-article .item-page ol,
body.com-content.view-article .com-content-article__body ul,
body.com-content.view-article .com-content-article__body ol{
  margin:.6rem 0 1rem; padding-left:1.25rem;
}
body.com-content.view-article .item-page li,
body.com-content.view-article .com-content-article__body li{ margin:.35rem 0; }

body.com-content.view-article .item-page blockquote,
body.com-content.view-article .com-content-article__body blockquote{
  margin:1rem 0; padding:.8rem 1rem;
  border-left:4px solid var(--brand);
  background: linear-gradient(90deg,rgba(0,84,166,.06),transparent 70%);
  border-radius:10px; color:#123;
}

/* Separadores elegantes */
body.com-content.view-article .item-page hr,
body.com-content.view-article .com-content-article__body hr{
  border:0; height:1px; margin:1.2rem 0;
  background: linear-gradient(90deg,rgba(15,23,42,.12),rgba(15,23,42,.06));
}
/* =========================================================
   VISTA DE ARTÍCULO — 80% de ancho + fondo gris + marco pro
   (no afecta listados ni portada; sólo com_content view=article)
   ========================================================= */

/* Lienzo gris claro (perceptible) detrás del artículo */
body.com-content.view-article main{
  /* un poco más marcado que antes */
  background: linear-gradient(180deg, #e9edf3 0, #f6f8fb 320px);
}

/* Contenedor del artículo: 80% del ancho de pantalla, centrado y enmarcado */
body.com-content.view-article .item-page,
body.com-content.view-article .com-content-article{
  width: 50vw;             /* lo que pediste: 80% del ancho de la pantalla */
  max-width: 1100px;       /* seguridad en monitores muy grandes */
  background: #fff;
  border-radius: 18px;
  padding: clamp(22px, 2.6vw, 36px);
  border: 1px solid rgba(15,23,42,.12);
  /* sombra un poco más profunda para destacar */
  box-shadow: 0 18px 44px rgba(15,23,42,.14);
  margin-left: auto;
  margin-right: auto;
}

/* Hover sutil de la “tarjeta” (no interfiere con nada) */
@media (hover:hover){
  body.com-content.view-article .item-page:hover,
  body.com-content.view-article .com-content-article:hover{
    box-shadow: 0 22px 54px rgba(15,23,42,.16), 0 0 0 1px rgba(0,84,166,.08) inset;
  }
}

/* Separador superior fino bajo el título (opcional y elegante) */
body.com-content.view-article .page-header{
  margin-bottom: .6rem;
  border-bottom: 1px solid rgba(15,23,42,.08);
  padding-bottom: .4rem;
}

/* Submenús del nivel 2 en adelante

/* ===== FIX MULTINIVEL EN DESKTOP (submenús a la derecha) ===== */
@media (min-width: 992px){
  /* todo <li> es contenedor de posicionamiento */
  #main-nav ul li{ position: relative; }

  /* cualquier submenú (primer nivel descendiente) cuelga del <li> padre */
  #main-nav ul ul{
    position: absolute;
    top: calc(100% + 6px);
    left: 0;
    min-width: 240px;
    padding: .4rem 0;
    background: #fff !important;
    border: 1px solid rgba(0,0,0,.08);
    border-radius: 12px;
    box-shadow: 0 14px 28px rgba(0,0,0,.14);
    display: block !important;   /* jamás flex */
    z-index: 3000;

    /* oculto por defecto */
    visibility: hidden;
    opacity: 0;
    transform: translateY(6px);
    transition: opacity .14s ease, transform .14s ease, visibility .14s ease;
  }

  /* mostrar cualquier submenú del item hovered (sin importar el nivel) */
  #main-nav ul li:hover > ul{
    visibility: visible;
    opacity: 1;
    transform: translateY(0);
  }

  /* submenús de segundo nivel (y mayores) a la DERECHA del ítem padre */
  #main-nav ul ul ul{
    top: -6px;
    left: 100%;
    margin-left: .25rem;
  }

  /* por si algún contenedor recorta los dropdowns */
  #main-nav, #main-nav *{ overflow: visible !important; }
}


/* ===== Accesibilidad: UI flotante ===== */
.a11y-btn{
  position: fixed; top: 80px; right: 14px; z-index: 4000;
  width: 44px; height: 44px; border-radius: 12px;
  display: inline-flex; align-items:center; justify-content:center;
  background:#185ABD; color:#fff; border:0; box-shadow:0 8px 22px rgba(0,0,0,.18);
  cursor:pointer; font-size:22px; line-height:1;
}
.a11y-btn img{ display:block; max-width:24px; max-height:24px; }
.a11y-btn:focus{ outline:3px solid #fff; outline-offset:2px; }

.a11y-panel{
  position: fixed; top: 130px; right: 14px; z-index: 4000;
  width: min(92vw, 360px);
  background:#fff; color:#111;
  border:1px solid rgba(0,0,0,.08);
  border-radius: 14px; box-shadow: 0 18px 44px rgba(0,0,0,.18);
  padding:.6rem .7rem .8rem; display:none;
}
.a11y-panel.is-open{ display:block; }
.a11y-head{ display:flex; align-items:center; justify-content:space-between; margin-bottom:.25rem; }
.a11y-head strong{ font-family:var(--font-ui, system-ui); font-weight:800; }
.a11y-close{ background:transparent; border:0; font-size:22px; line-height:1; cursor:pointer; padding:.2rem; color:inherit; }

.a11y-group{ border-top:1px solid rgba(0,0,0,.06); padding:.55rem 0 .6rem; }
.a11y-group:first-of-type{ border-top:0; }
.a11y-label{ display:block; font-weight:700; margin-bottom:.35rem; font-size:.95rem; }
.a11y-row{ display:flex; gap:.4rem; flex-wrap:wrap; }
.a11y-ctl{
  border:1px solid rgba(0,0,0,.12); background:#f7f9fc; color:#111;
  padding:.35rem .6rem; border-radius:10px; cursor:pointer; font-weight:700;
}
.a11y-ctl:hover{ background:#eef3fb; }
.a11y-foot{ display:flex; justify-content:flex-end; padding-top:.35rem; }
.a11y-reset{ background:#eee; border:1px solid rgba(0,0,0,.12); padding:.4rem .6rem; border-radius:10px; cursor:pointer; color:#111; }

/* ===== Accesibilidad: clases funcionales en <html> ===== */
html.a11y-font-1 { font-size: 110%; }
html.a11y-font-2 { font-size: 120%; }
html.a11y-font-3 { font-size: 130%; }

html.a11y-letter-1 body{ letter-spacing:.02em; }
html.a11y-letter-2 body{ letter-spacing:.045em; }

html.a11y-readable body{
  font-family: "Atkinson Hyperlegible", Arial, Helvetica, var(--font-ui), sans-serif;
}

html.a11y-align-left  .item-page, 
html.a11y-align-left  article[itemtype*="Article"]{ text-align:left; }
html.a11y-align-just  .item-page, 
html.a11y-align-just  article[itemtype*="Article"]{ text-align:justify; }

html.a11y-line-1 body{ line-height: 1.5; }
html.a11y-line-2 body{ line-height: 1.75; }
html.a11y-line-3 body{ line-height: 2; }

/* ===== Alto contraste ===== */
html.a11y-contrast body{ background:#000 !important; color:#fff !important; }
html.a11y-contrast a{ color:#FFEB3B !important; text-decoration: underline !important; }
html.a11y-contrast :focus-visible{ outline:3px solid #FFEB3B; outline-offset:2px; }
/* ===== Ajuste de texto en alto contraste ===== */
html.a11y-contrast, html.a11y-contrast * { color:#fff !important; }
/* Mantener enlaces en amarillo para mayor visibilidad */
html.a11y-contrast a{ color:#FFEB3B !important; text-decoration: underline !important; }
html.a11y-contrast header,
html.a11y-contrast footer,
html.a11y-contrast .module,
html.a11y-contrast .card,
html.a11y-contrast .container,
html.a11y-contrast .item-page,
html.a11y-contrast nav,
html.a11y-contrast section,
html.a11y-contrast article,
html.a11y-contrast .content{
  background:#000 !important; color:#fff !important; border-color:#ffffff33 !important;
}
html.a11y-contrast .a11y-panel{ background:#111; color:#fff; border-color:#ffffff33; }
html.a11y-contrast .a11y-ctl{ background:#222; color:#fff; border-color:#ffffff33; }
html.a11y-contrast .a11y-reset{ background:#222; color:#fff; border-color:#ffffff33; }
html.a11y-contrast .a11y-btn{ background:#000; color:#fff; border:1px solid #fff; }

@media (prefers-reduced-motion: reduce){
  .a11y-btn, .a11y-panel{ transition:none !important; }
}


/* ===== Overrides fuertes para Alto Contraste y tamaño del panel ===== */
.a11y-panel{ width: min(92vw, 280px) !important; font-size: .92rem; }
.a11y-ctl{ padding:.28rem .5rem; font-size:.9rem; }

/* Forzar texto blanco sobre negro en TODO el sitio al activar alto contraste */
html.a11y-contrast,
html.a11y-contrast body{ background:#000 !important; color:#fff !important; }

/* Texto blanco universal (evita que quede negro por reglas más específicas) */
html.a11y-contrast body *:not(svg):not(path):not(img):not(video),
html.a11y-contrast body *::before,
html.a11y-contrast body *::after{
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
}

/* Enlaces en amarillo (y su contenido) */
html.a11y-contrast a,
html.a11y-contrast a *{
  color:#FFEB3B !important;
  text-decoration: underline !important;
}

/* Contenedores comunes a fondo negro */
html.a11y-contrast header,
html.a11y-contrast footer,
html.a11y-contrast main,
html.a11y-contrast nav,
html.a11y-contrast section,
html.a11y-contrast article,
html.a11y-contrast aside,
html.a11y-contrast .container,
html.a11y-contrast .content,
html.a11y-contrast .module,
html.a11y-contrast .card,
html.a11y-contrast .item-page{
  background:#000 !important;
  color:#fff !important;
  border-color:#ffffff33 !important;
}

/* Panel de accesibilidad también en alto contraste */
html.a11y-contrast .a11y-panel{ background:#111 !important; color:#fff !important; border-color:#ffffff33 !important; }
html.a11y-contrast .a11y-ctl{ background:#222 !important; color:#fff !important; border-color:#ffffff33 !important; }
html.a11y-contrast .a11y-reset{ background:#222 !important; color:#fff !important; border-color:#ffffff33 !important; }

/* ===== Pie de página EDOS ===== */
.edos-footer{ background:#2b2f1f; color:#fff; }
.edos-footer a{ color:#fff; text-decoration: underline; }
.edos-wrap{ max-width:1200px; margin:0 auto; padding:24px 16px; display:grid; grid-template-columns:1fr; gap:24px; }
@media (min-width: 768px){ .edos-wrap{ grid-template-columns: 320px 1fr; gap:32px; } }

.edos-left{ text-align:center; }
@media (min-width: 768px){ .edos-left{ text-align:left; } }
.edos-footer__logo{ max-height:96px; width:auto; display:inline-block; margin-bottom:12px; }
.edos-footer__title{ font-size:1.1rem; font-weight:800; margin:0 0 2px 0; }
.edos-footer__desc{ margin:0 0 10px 0; }

.edos-social{ display:flex; gap:.75rem; justify-content:center; margin-top:.5rem; }
@media (min-width: 768px){ .edos-social{ justify-content:flex-start; } }
.edos-social__link{ display:inline-flex; align-items:center; justify-content:center; }
.edos-social__icon{ width:64px; height:64px; object-fit:contain; border-radius:6px; }

.edos-right{ font-size:.95rem; }
.edos-footer__list{ list-style:none; padding:0; margin:0; }
.edos-footer__list li{ margin:0 0 .5rem 0; }

/* Alto contraste: mantener texto visible */
html.a11y-contrast .edos-footer{ background:#000 !important; color:#fff !important; }
html.a11y-contrast .edos-footer a{ color:#fff !important; text-decoration: underline; }
/* ===== /Pie de página EDOS ===== */

/* === EDOS: Menú (v5) — Accesibilidad teclado ==============================
   - Mantiene verde translúcido del contenedor
   - Igualar :focus / :focus-visible al hover (amarillo claro)
   - Habilitar apertura de submenús con teclado (:focus-within)
   - Cubre <a>, <span>, <strong> focusables (por si tienen tabindex)
============================================================================ */

/* Fondo del contenedor principal (verde más translúcido) */
#main-nav .nav-inner{
  background-color: rgba(22,77,54,.68) !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

/* ===== Top level: texto por defecto (blanco) ===== */
#main-nav .nav-menu > .mod-menu > li > a,
#main-nav .nav-menu > .mod-list > li > a,
#main-nav .nav-menu > ul > li > a,
#main-nav .nav-menu > .mod-menu > li > span,
#main-nav .nav-menu > .mod-list > li > span,
#main-nav .nav-menu > ul > li > span,
#main-nav .nav-menu > .mod-menu > li > strong,
#main-nav .nav-menu > .mod-list > li > strong,
#main-nav .nav-menu > ul > li > strong{
  color:#ffffff !important;
}

/* ===== Top level: hover/activo/focus -> amarillo claro ===== */
#main-nav .nav-menu > .mod-menu > li:hover > a,
#main-nav .nav-menu > .mod-list > li:hover > a,
#main-nav .nav-menu > ul > li:hover > a,
#main-nav .nav-menu > .mod-menu > li > a:hover,
#main-nav .nav-menu > .mod-list > li > a:hover,
#main-nav .nav-menu > ul > li > a:hover,
#main-nav .nav-menu > .mod-menu > li:hover > span,
#main-nav .nav-menu > .mod-list > li:hover > span,
#main-nav .nav-menu > ul > li:hover > span,
#main-nav .nav-menu > .mod-menu > li:hover > strong,
#main-nav .nav-menu > .mod-list > li:hover > strong,
#main-nav .nav-menu > ul > li:hover > strong,
#main-nav .nav-menu > .mod-menu > li.active > a,
#main-nav .nav-menu > .mod-list > li.active > a,
#main-nav .nav-menu > ul > li.active > a,
#main-nav .nav-menu > .mod-menu > li.current > a,
#main-nav .nav-menu > .mod-list > li.current > a,
#main-nav .nav-menu > ul > li.current > a,
#main-nav .nav-menu > .mod-menu > li > a:focus,
#main-nav .nav-menu > .mod-list > li > a:focus,
#main-nav .nav-menu > ul > li > a:focus,
#main-nav .nav-menu > .mod-menu > li > a:focus-visible,
#main-nav .nav-menu > .mod-list > li > a:focus-visible,
#main-nav .nav-menu > ul > li > a:focus-visible,
#main-nav .nav-menu > .mod-menu > li > span[tabindex]:focus,
#main-nav .nav-menu > .mod-list > li > span[tabindex]:focus,
#main-nav .nav-menu > ul > li > span[tabindex]:focus,
#main-nav .nav-menu > .mod-menu > li > span[tabindex]:focus-visible,
#main-nav .nav-menu > .mod-list > li > span[tabindex]:focus-visible,
#main-nav .nav-menu > ul > li > span[tabindex]:focus-visible{
  background-color:#fff3b0 !important;
  color:#1d2b3a !important;
  outline:3px solid #1d2b3a !important;
  outline-offset:2px !important;
}

/* ===== Submenú (dropdown) ===== */
/* Mismo verde translúcido en panel colgante */
#main-nav .nav-menu li > ul{
  background-color: rgba(22,77,54,.72) !important;
  border-color: rgba(0,0,0,.12) !important;
}

/* Texto base legible */
#main-nav .nav-menu li ul li > a,
#main-nav .nav-menu li ul li > span,
#main-nav .nav-menu li ul li > strong{
  color:#ffffff !important;
}

/* Hover y focus del submenú -> amarillo claro */
#main-nav .nav-menu li ul li:hover > a,
#main-nav .nav-menu li ul li:hover > span,
#main-nav .nav-menu li ul li:hover > strong,
#main-nav .nav-menu li ul li > a:focus,
#main-nav .nav-menu li ul li > a:focus-visible,
#main-nav .nav-menu li ul li > span[tabindex]:focus,
#main-nav .nav-menu li ul li > span[tabindex]:focus-visible{
  background-color:#fff3b0 !important;
  color:#1d2b3a !important;
  outline:3px solid #1d2b3a !important;
  outline-offset:2px !important;
}

/* Abrir submenús con teclado (desktop): focus dentro del <li> */
@media (min-width: 992px){
  #main-nav ul li:focus-within > ul{
    visibility: visible !important;
    opacity: 1 !important;
    transform: translateY(0) !important;
  }
}
/* 🎨 Estilo acordeón para el submenú transparencia */
.submenu-transparencia {
  --ac-bg: #154734;      /* Verde institucional */
  --ac-open: #A3B947;    /* Verde claro apertura */
  --ac-accent: #FFD700;  /* Amarillo institucional */
  --ac-text: #ffffff;    /* Texto blanco */
  width: 100%;
}

.submenu-transparencia .accordion {
  border: none;
  background: transparent;
}

.submenu-transparencia .accordion-item {
  border: none;
  margin-bottom: 6px;
  border-radius: 6px;
  overflow: hidden;
}

.submenu-transparencia .accordion-button {
  background-color: var(--ac-bg);
  color: var(--ac-text);
  font-weight: bold;
  padding: 12px 16px;
  border: none;
  text-align: left;
  cursor: pointer;
  transition: all 0.3s ease;
}

.submenu-transparencia .accordion-button:not(.collapsed) {
  background-color: var(--ac-open);
  color: var(--ac-text);
  border-left: 6px solid var(--ac-accent);
}

.submenu-transparencia .accordion-button::after {
  filter: brightness(0) invert(1);
}

.submenu-transparencia .accordion-body {
  background: #f9f9f9;
  padding: 10px 16px;
}

.submenu-transparencia .accordion-body a {
  display: block;
  color: #333;
  text-decoration: none;
  padding: 6px 0;
  transition: color 0.2s ease;
}

.submenu-transparencia .accordion-body a:hover {
  color: var(--ac-bg);
  text-decoration: underline;
}

/* Logo EDOS más grande */
.edos-footer__logo {
  max-width: 265px;
  margin-bottom: 10px;
}

/* Redes sociales */
.edos-social a {
  display: inline-flex;
  align-items: center;
  margin-right: 12px;
  text-decoration: none;
  font-size: 0.95rem;
  color: #fff; /* texto contextual blanco */
}



/* Pie de página bordes */
.edos-footer {
  border-top: 3px solid #FFD700; /* borde amarillo más delgado */
  background: #1a1a1a;
  color: #fff;
  padding: 25px 20px;
}

/* Barra inferior GOV.CO */
.barra-inferior {
  background: #2564b5;
  color: #fff;
  padding: 10px 20px;
  font-size: 0.9rem;
  /*border-top: 2px solid #FFD700; /* fino borde amarillo */
}

.barra-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
}

.barra-center img {
  max-height: 36px;
}
/*************
/* ==== Footer EDOS ==== */
.edos-footer {
  background: #2a2d1f;
  color: #fff;
  padding: 40px 20px;
  font-size: 16px; /* Texto más grande */
}

.edos-wrap {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 40px;
  max-width: 1200px;
  margin: 0 auto;
}

.edos-footer h3,
.edos-footer h4 {
  margin-bottom: 15px;
  font-size: 20px;
}

.edos-footer__logo {
  max-width: 265px;
  margin-bottom: 15px;
}

.edos-footer__desc {
  margin-bottom: 10px;
}

.edos-social a {
  display: inline-block;
  margin-right: 12px;
}

.edos-social img {
  max-width: 57px;
  transition: transform 0.2s;
  margin-right: -16px;
}

.edos-social img:hover {
  transform: scale(1.1);
}

/* Quitar texto visible de las redes */
.edos-social a {
  text-decoration: none;
}
.edos-social a span,
.edos-social a::after {
  display: none;
}

/* Barra inferior GOV.CO */
.barra-inferior {
  background: #0052cc;
  color: #fff;
  text-align: center;
  padding: 10px 20px;
}

.barra-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  max-width: 1200px;
  margin: 0 auto;
}

.barra-center img {
  max-height: 40px;
}

a[href="https://www.gov.co"]>img{
  width: 100%;
}

footer>p{
  text-align: center;
  margin-top: 20px;
}

.conoce-gov{
  color: white;
  text-decoration: underline;
}

.edos-center,.edos-right,.edos-left,.edos-footer__desc,.edos-links-list{
  font-size: 18px !important;
}