:root{
  --unal-green:#5f7f1f;
  --unal-green-dark:#445f16;
  --unal-teal:#003b46;
  --unal-blue:#213f83;
  --unal-blue-dark:#18336f;
  --unal-blue-soft:#d8e3ff;
  --unal-gray-100:#f7f7f7;
  --unal-gray-200:#eeeeee;
  --unal-gray-300:#d9d9d9;
  --unal-white:#fff;
  --unal-black:#111;
  --footer-green:#5f7f1f;
  --max-width:1280px;
  --header-offset:145px;
  font-family:"Ancizar Sans", "Muli", Arial, sans-serif;
}

*{
  box-sizing:border-box;
}

html{
  scroll-behavior:smooth;
}

body{
  margin:0;
  background:#fff;
  color:var(--unal-black);
  font-family:"Ancizar Sans", "Muli", Arial, sans-serif;
  font-size:16px;
  line-height:1.45;
}

[hidden]{
  display:none !important;
}

a{
  color:inherit;
  text-decoration:none;
}

a:hover,
a:focus{
  text-decoration:underline;
}

button,
input{
  font-family:inherit;
}

.skip-link{
  position:absolute;
  left:-999px;
  top:auto;
}

.skip-link:focus{
  left:1rem;
  top:1rem;
  z-index:9999;
  background:#fff;
  color:#000;
  padding:.75rem 1rem;
  border:2px solid #000;
}

/* =========================================================
   ENCABEZADO
   ========================================================= */

.unal-header{
  position:sticky;
  top:0;
  z-index:50;
  background:#fff;
  box-shadow:0 2px 18px rgba(0,0,0,.14);
}

.unal-header__top{
  height:50px;
  background:#2f2f2f;
  color:#fff;
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:0 max(1rem,calc((100vw - var(--max-width))/2));
  position:relative;
}

.unal-header__brand{
  display:flex;
  align-items:center;
  gap:1rem;
  position:relative;
  min-height:50px;
}

.unal-seal{
  width:118px;
  height:132px;
  border-radius:0 0 58px 58px;
  background:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  position:absolute;
  top:0;
  left:0;
  z-index:7;
  box-shadow:0 8px 20px rgba(0,0,0,.28);
  overflow:hidden;
}

.unal-seal img{
  width:96px;
  height:96px;
  object-fit:contain;
  display:block;
}

.unal-breadcrumb{
  margin-left:var(--header-offset);
  font-weight:700;
  font-size:.88rem;
  white-space:nowrap;
}

.unal-breadcrumb span{
  opacity:.55;
  margin:0 .5rem;
}

.unal-header__top-actions{
  display:flex;
  align-items:center;
  gap:1.2rem;
}

.unal-menu-toggle{
  display:none;
  border:1px solid #fff;
  background:transparent;
  color:#fff;
  border-radius:4px;
  padding:.45rem .8rem;
  font-weight:700;
  cursor:pointer;
}

/* =========================================================
   BARRA VERDE
   ========================================================= */

.unal-nav{
  background:var(--unal-green);
  color:#fff;
  padding-left:max(1rem,calc((100vw - var(--max-width))/2 + var(--header-offset)));
  padding-right:max(1rem,calc((100vw - var(--max-width))/2));
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:1rem;
  min-height:58px;
}

.unal-nav__primary,
.unal-nav__secondary{
  display:flex;
  align-items:center;
}

.unal-nav__primary{
  gap:1.9rem;
}

.unal-nav__secondary{
  gap:1.15rem;
}

.unal-nav a,
.unal-nav button{
  font-weight:700;
  font-size:.96rem;
}

.community-link{
  display:inline-flex;
  align-items:center;
  gap:.4rem;
}

.nav-icon{
  font-size:1.25rem;
  line-height:1;
}

.accessibility-link{
  font-size:1.35rem;
  line-height:1;
}

.search-trigger{
  background:transparent;
  border:0;
  color:#fff;
  padding:.25rem;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  font-weight:700;
}

.search-trigger:hover,
.search-trigger:focus{
  text-decoration:underline;
}

.search-icon{
  width:20px;
  height:20px;
  border:3px solid currentColor;
  border-radius:50%;
  display:inline-block;
  position:relative;
}

.search-icon::after{
  content:"";
  width:9px;
  height:3px;
  background:currentColor;
  position:absolute;
  right:-8px;
  bottom:-4px;
  transform:rotate(45deg);
  border-radius:2px;
}

.search-text{
  position:absolute;
  width:1px;
  height:1px;
  overflow:hidden;
  clip:rect(0 0 0 0);
  white-space:nowrap;
}

/* =========================================================
   SEDES
   ========================================================= */

.sedes-dropdown{
  position:relative;
}

.sedes-dropdown__button{
  background:transparent;
  border:0;
  color:#fff;
  padding:0;
  cursor:pointer;
  font-weight:700;
}

.sedes-dropdown__button::after{
  content:"";
  display:inline-block;
  width:.45rem;
  height:.45rem;
  border-right:2px solid currentColor;
  border-bottom:2px solid currentColor;
  transform:rotate(45deg);
  margin-left:.45rem;
  margin-bottom:.18rem;
}

.sedes-dropdown__menu{
  position:absolute;
  top:calc(100% + .85rem);
  right:0;
  min-width:210px;
  background:#fff;
  color:#111;
  border-radius:0 0 8px 8px;
  box-shadow:0 12px 30px rgba(0,0,0,.22);
  padding:.6rem 0;
  display:none;
  z-index:30;
}

.sedes-dropdown:hover .sedes-dropdown__menu,
.sedes-dropdown:focus-within .sedes-dropdown__menu,
.sedes-dropdown.is-open .sedes-dropdown__menu{
  display:block;
}

.sedes-dropdown__menu a{
  display:block;
  padding:.65rem 1rem;
  color:#111;
  font-weight:700;
  white-space:nowrap;
}

.sedes-dropdown__menu a:hover,
.sedes-dropdown__menu a:focus{
  background:#f1f1f1;
  text-decoration:none;
}

/* =========================================================
   BUSCADOR DESPLEGABLE
   ========================================================= */

.unal-search{
  background:#f4f4f4;
  border-bottom:1px solid #ddd;
  padding:1rem 0;
}

.unal-search__inner{
  max-width:var(--max-width);
  margin:0 auto;
  padding-left:var(--header-offset);
  padding-right:1rem;
  display:flex;
  align-items:center;
  gap:.65rem;
}

.unal-search label{
  font-weight:700;
  white-space:nowrap;
}

.unal-search input{
  flex:1;
  min-height:44px;
  border:1px solid #aaa;
  border-radius:6px;
  padding:.5rem .75rem;
  font-size:1rem;
}

.unal-search button{
  min-height:44px;
  border:1px solid var(--unal-teal);
  background:var(--unal-teal);
  color:#fff;
  border-radius:6px;
  padding:.55rem 1.25rem;
  font-weight:700;
  cursor:pointer;
}

/* =========================================================
   MENÚ DEL SITIO
   ========================================================= */

.site-menu{
  min-height:48px;
  display:flex;
  align-items:center;
  gap:2rem;
  padding-left:max(1rem,calc((100vw - var(--max-width))/2 + var(--header-offset)));
  padding-right:max(1rem,calc((100vw - var(--max-width))/2));
  background:#fff;
  color:#111;
  font-weight:700;
  border-bottom:1px solid #e4e4e4;
  border-radius:0 0 22px 0;
}

.site-menu a{
  padding:.55rem 0;
}

/* =========================================================
   HERO
   ========================================================= */

.hero-bibliotecas{
  background:linear-gradient(135deg,var(--unal-blue),#1f438e);
  color:#fff;
  padding:5rem 1rem 4rem;
}

.hero-bibliotecas__content{
  max-width:var(--max-width);
  margin:0 auto;
  text-align:center;
}

.eyebrow{
  text-transform:uppercase;
  letter-spacing:.14em;
  font-weight:700;
  opacity:.88;
  margin:0 0 .75rem;
}

.hero-bibliotecas h1{
  font-size:clamp(2.6rem,5vw,4.5rem);
  line-height:1.05;
  margin:.5rem 0 1rem;
  font-weight:800;
}

.hero-bibliotecas h1 span{
  background:#fff;
  color:var(--unal-blue);
  border-radius:1.5rem .3rem .3rem 1.5rem;
  padding:.08em .35em;
  font-size:.78em;
  display:inline-block;
}

.hero-bibliotecas p{
  max-width:820px;
  margin:0 auto 1.5rem;
  font-weight:600;
}

.discovery-search{
  display:flex;
  gap:.6rem;
  max-width:980px;
  margin:1.5rem auto;
}

.discovery-search label{
  position:absolute;
  left:-9999px;
}

.discovery-search input{
  flex:1;
  min-height:48px;
  border:0;
  border-radius:6px;
  padding:0 1rem;
  font-size:1rem;
}

.discovery-search button{
  border:0;
  background:#fff;
  color:var(--unal-blue);
  font-weight:700;
  border-radius:6px;
  padding:0 1.45rem;
  cursor:pointer;
}

.hero-tabs{
  display:flex;
  justify-content:center;
  gap:1rem;
  flex-wrap:wrap;
}

.hero-tabs a{
  border:1px solid rgba(255,255,255,.72);
  border-radius:6px;
  padding:.5rem 1rem;
  font-weight:700;
}

.hero-tabs a:hover,
.hero-tabs a:focus{
  background:#fff;
  color:var(--unal-blue);
  text-decoration:none;
}

/* =========================================================
   SERVICIOS
   ========================================================= */

.quick-access{
  background:var(--unal-blue);
  color:#fff;
  padding:5rem 1rem;
}

.quick-access h2{
  max-width:var(--max-width);
  margin:0 auto 2rem;
  font-size:2rem;
}

.cards-grid{
  max-width:var(--max-width);
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:2rem;
}

.service-card{
  text-align:center;
  padding:2rem 1.25rem;
  border-radius:16px;
  transition:background .2s ease, transform .2s ease;
}

.service-card:hover{
  background:rgba(255,255,255,.07);
  transform:translateY(-2px);
}

.service-card span{
  display:block;
  font-size:3.5rem;
  color:var(--unal-blue-soft);
  margin-bottom:1rem;
  line-height:1;
}

.service-card h3{
  font-size:1.35rem;
  margin:0 0 .75rem;
}

.service-card p{
  color:#eef3ff;
  margin:0;
}

.service-card a{
  display:inline-block;
  margin-top:1rem;
  background:var(--unal-blue-soft);
  color:#0d2b69;
  border-radius:9px;
  padding:.65rem 1.35rem;
  font-weight:700;
}

/* =========================================================
   FOOTER
   ========================================================= */

.unal-footer{
  color:#fff;
  background:var(--unal-teal);
}

.unal-footer__links{
  position:relative;
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:2rem;
  padding:3.4rem max(1rem,calc((100vw - var(--max-width))/2)) 3rem;
  background:
    linear-gradient(rgba(0,46,55,.86),rgba(0,46,55,.86)),
    url("../img/backgrounds/footer-bg.jpg") center/cover no-repeat;
}

.unal-footer__links h2{
  text-transform:uppercase;
  font-size:1rem;
  color:#d7ef89;
  letter-spacing:.04em;
  margin:0 0 1rem;
}

.unal-footer__links a{
  display:block;
  margin:.65rem 0;
  color:#fff;
  font-weight:600;
  text-decoration:underline;
  text-decoration-style:dotted;
  text-underline-offset:4px;
}

.unal-footer__social{
  background:
    linear-gradient(rgba(0,46,55,.84),rgba(0,46,55,.84)),
    url("../img/backgrounds/footer-bg.jpg") center/cover no-repeat;
  border-top:1px solid rgba(215,239,137,.65);
  padding:1.3rem max(1rem,calc((100vw - var(--max-width))/2)) 1.6rem;
}

.footer-secondary-links{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  gap:1.4rem;
  font-weight:700;
}

.footer-secondary-links > a:not(.footer-brand-link){
  text-decoration:underline;
  text-decoration-style:dotted;
  text-underline-offset:4px;
}

.footer-brand-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
}

.footer-brand-link img{
  height:24px;
  width:auto;
  display:block;
}

.footer-brand-link--somos{
  border:1px solid rgba(255,255,255,.8);
  border-radius:4px;
  padding:.25rem .55rem;
}

.footer-brand-link--somos img{
  height:26px;
}

.footer-social-network{
  margin-top:1.25rem;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:1.5rem;
  color:#d7ef89;
  text-transform:uppercase;
  font-weight:800;
  letter-spacing:.04em;
}

.footer-social-icons{
  display:flex;
  align-items:center;
  gap:1rem;
}

.footer-social-icons a{
  width:34px;
  height:34px;
  border:2px solid #fff;
  border-radius:50%;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  font-weight:800;
  line-height:1;
  text-decoration:none;
}

.unal-footer__legal{
  background:var(--footer-green);
  display:grid;
  grid-template-columns:1.2fr 1.5fr 1.35fr 1.25fr;
  gap:2rem;
  padding:2rem max(1rem,calc((100vw - var(--max-width))/2));
  align-items:center;
  color:#fff;
}

.footer-government-logos{
  display:flex;
  align-items:center;
  gap:1rem;
}

.footer-government-logos img{
  max-height:54px;
  max-width:155px;
  object-fit:contain;
  display:block;
}

.footer-divider{
  width:2px;
  height:44px;
  background:#fff;
  opacity:.8;
  flex:0 0 auto;
}

.unal-footer__legal strong{
  display:block;
  margin-bottom:.4rem;
  font-size:1rem;
}

.unal-footer__legal p{
  margin:.5rem 0 0;
  line-height:1.55;
  font-weight:600;
}

.unal-footer__legal a{
  text-decoration:underline;
  text-decoration-style:dotted;
  text-underline-offset:4px;
}

/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width:1100px){
  .unal-nav__primary,
  .unal-nav__secondary{
    gap:.9rem;
  }

  .cards-grid{
    grid-template-columns:repeat(2,1fr);
  }

  .unal-footer__links{
    grid-template-columns:repeat(3,1fr);
  }

  .unal-footer__legal{
    grid-template-columns:1fr 1fr;
  }
}

@media (max-width:900px){
  :root{
    --header-offset:0;
  }

  .unal-header{
    position:relative;
  }

  .unal-menu-toggle{
    display:block;
  }

  .unal-header__top{
    height:auto;
    min-height:82px;
    padding:1rem;
  }

  .unal-header__brand{
    min-height:auto;
  }

  .unal-seal{
    position:static;
    width:72px;
    height:72px;
    border-radius:50%;
    box-shadow:0 4px 14px rgba(0,0,0,.22);
  }

  .unal-seal img{
    width:58px;
    height:58px;
  }

  .unal-breadcrumb{
    margin-left:0;
  }

  .sedes-dropdown--top{
    display:none;
  }

  .unal-nav,
  .site-menu{
    display:none;
  }

  .unal-nav.is-open,
  .site-menu.is-open{
    display:flex;
  }

  .unal-nav{
    flex-direction:column;
    align-items:flex-start;
    padding:1rem;
  }

  .unal-nav__primary,
  .unal-nav__secondary{
    flex-direction:column;
    align-items:flex-start;
    gap:.75rem;
  }

  .site-menu{
    flex-direction:column;
    align-items:flex-start;
    gap:.75rem;
    padding:1rem;
  }

  .unal-search__inner{
    padding:0 1rem;
    flex-direction:column;
    align-items:stretch;
  }

  .unal-search label{
    white-space:normal;
  }

  .discovery-search{
    flex-direction:column;
  }

  .discovery-search button{
    min-height:46px;
  }

  .quick-access{
    padding:3rem 1rem;
  }

  .unal-footer__links{
    grid-template-columns:1fr 1fr;
  }

  .unal-footer__legal{
    grid-template-columns:1fr;
    align-items:start;
  }
}

@media (max-width:620px){
  .hero-bibliotecas{
    padding:3.5rem 1rem 3rem;
  }

  .hero-bibliotecas h1{
    font-size:2.5rem;
  }

  .cards-grid{
    grid-template-columns:1fr;
  }

  .unal-footer__links{
    grid-template-columns:1fr;
  }

  .footer-secondary-links{
    flex-direction:column;
    gap:.9rem;
  }

  .footer-social-network{
    flex-direction:column;
  }

  .footer-government-logos{
    justify-content:flex-start;
  }
}

/* =========================================================
   BASES UNAL - MAQUETA DE RECURSOS ELECTRÓNICOS
   Mantiene cabezote y footer institucionales.
   ========================================================= */

:root{
  --bases-bg:#f6f8f7;
  --bases-ink:#17211f;
  --bases-muted:#5e6d69;
  --bases-line:#dfe7e3;
  --bases-card:#ffffff;
  --bases-green:#5f7f1f;
  --bases-green-dark:#445f16;
  --bases-teal:#003b46;
  --bases-blue:#213f83;
  --bases-lime:#d7ef89;
  --bases-shadow:0 18px 44px rgba(0,40,46,.12);
  --bases-radius:22px;
}

main.bases-main{
  background:linear-gradient(180deg,#ffffff 0,#f6f8f7 18rem,#ffffff 100%);
  color:var(--bases-ink);
}

.bases-container{
  max-width:var(--max-width);
  margin:0 auto;
  padding-left:1rem;
  padding-right:1rem;
}

.bases-hero{
  background:
    radial-gradient(circle at 85% 20%,rgba(215,239,137,.18),transparent 30rem),
    linear-gradient(135deg,var(--bases-blue),#1c3c83 62%,#17306b);
  color:#fff;
  padding:4.4rem 0 3.5rem;
}

.bases-hero__grid{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(290px,.55fr);
  gap:2rem;
  align-items:center;
}

.bases-eyebrow{
  margin:0 0 .75rem;
  text-transform:uppercase;
  letter-spacing:.14em;
  font-weight:800;
  color:var(--bases-lime);
  font-size:.9rem;
}

.bases-hero h1{
  margin:.2rem 0 1rem;
  font-size:clamp(2.3rem,4.8vw,4.3rem);
  line-height:1.04;
  font-weight:800;
}

.bases-hero h1 span{
  display:inline-block;
  color:var(--bases-blue);
  background:#fff;
  border-radius:999px;
  padding:.03em .32em .08em;
  white-space:nowrap;
}

.bases-hero__lead{
  max-width:820px;
  margin:0 0 1.5rem;
  color:#eef4ff;
  font-size:1.12rem;
  font-weight:600;
}

.bases-searchbox{
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:.7rem;
  align-items:center;
  background:#fff;
  color:#111;
  border-radius:18px;
  padding:.55rem;
  box-shadow:0 16px 38px rgba(0,0,0,.18);
  max-width:910px;
}

.bases-searchbox svg{
  margin-left:.7rem;
  color:var(--bases-green);
}

.bases-visually-hidden,
.bases-skip{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}

.bases-searchbox input{
  border:0;
  outline:0;
  min-height:46px;
  font-size:1.05rem;
  color:var(--bases-ink);
  background:transparent;
}

.bases-searchbox button{
  border:0;
  min-height:46px;
  border-radius:14px;
  padding:0 1.2rem;
  background:var(--bases-green);
  color:#fff;
  font-weight:800;
  cursor:pointer;
}

.bases-searchbox button:hover,
.bases-searchbox button:focus{
  background:var(--bases-green-dark);
}

.bases-metrics{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:.8rem;
  margin-top:1rem;
  max-width:720px;
}

.bases-metric{
  border:1px solid rgba(255,255,255,.26);
  background:rgba(255,255,255,.1);
  backdrop-filter:blur(8px);
  border-radius:16px;
  padding:1rem;
}

.bases-metric strong{
  display:block;
  font-size:1.9rem;
  line-height:1;
}

.bases-metric span{
  display:block;
  margin-top:.35rem;
  color:#edf4ff;
  font-weight:700;
}

.bases-quick-card{
  background:rgba(255,255,255,.94);
  color:var(--bases-ink);
  border-radius:var(--bases-radius);
  padding:1.35rem;
  box-shadow:0 22px 55px rgba(0,0,0,.22);
}

.bases-quick-card h2{
  margin:.2rem 0 1rem;
  font-size:1.35rem;
  color:var(--bases-teal);
}

.bases-quick-links{
  display:grid;
  gap:.75rem;
}

.bases-quick-links a{
  display:grid;
  grid-template-columns:42px 1fr;
  gap:.8rem;
  align-items:center;
  padding:.85rem;
  border:1px solid var(--bases-line);
  border-radius:16px;
  text-decoration:none;
  background:#fbfdfc;
}

.bases-quick-links a:hover,
.bases-quick-links a:focus{
  border-color:var(--bases-green);
  box-shadow:0 10px 26px rgba(0,40,46,.1);
}

.bases-quick-links span{
  width:42px;
  height:42px;
  display:inline-grid;
  place-items:center;
  border-radius:50%;
  background:#edf4df;
  color:var(--bases-green-dark);
  font-weight:900;
}

.bases-quick-links strong,
.bases-quick-links small{
  display:block;
}

.bases-quick-links strong{
  color:var(--bases-teal);
}

.bases-quick-links small{
  color:var(--bases-muted);
  margin-top:.15rem;
}

.bases-directory{
  padding:3rem 0 4rem;
}

.bases-layout{
  display:grid;
  grid-template-columns:280px minmax(0,1fr);
  gap:1.8rem;
  align-items:start;
}

.bases-filters{
  position:sticky;
  top:180px;
  background:#fff;
  border:1px solid var(--bases-line);
  border-radius:var(--bases-radius);
  padding:1.1rem;
  box-shadow:var(--bases-shadow);
}

.bases-filters h2{
  margin:.15rem 0 1rem;
  font-size:1.25rem;
  color:var(--bases-teal);
}

.bases-field{
  display:grid;
  gap:.35rem;
  margin-bottom:.8rem;
}

.bases-field label{
  color:var(--bases-muted);
  font-weight:800;
  font-size:.9rem;
}

.bases-field select{
  width:100%;
  min-height:42px;
  border:1px solid #cfd9d4;
  border-radius:12px;
  padding:.5rem .65rem;
  background:#fff;
  color:var(--bases-ink);
  font-size:.95rem;
}

.bases-clear{
  width:100%;
  border:0;
  border-radius:999px;
  background:#eef4f0;
  color:var(--bases-teal);
  padding:.75rem 1rem;
  font-weight:800;
  cursor:pointer;
  margin:.4rem 0 1rem;
}

.bases-clear:hover,
.bases-clear:focus{
  background:#dfeadd;
}

.bases-az{
  display:flex;
  flex-wrap:wrap;
  gap:.35rem;
}

.bases-az button{
  border:1px solid #d2ddd8;
  border-radius:999px;
  background:#fff;
  color:var(--bases-teal);
  min-width:34px;
  height:32px;
  padding:0 .55rem;
  font-weight:800;
  cursor:pointer;
}

.bases-az button.active,
.bases-az button:hover,
.bases-az button:focus{
  background:var(--bases-green);
  color:#fff;
  border-color:var(--bases-green);
}

.bases-content-head{
  display:flex;
  justify-content:space-between;
  gap:1rem;
  align-items:end;
  margin-bottom:1rem;
}

.bases-content-head h2{
  margin:.15rem 0 0;
  color:var(--bases-teal);
  font-size:clamp(1.55rem,2.6vw,2.35rem);
}

.bases-view-actions{
  display:inline-flex;
  gap:.4rem;
  padding:.25rem;
  background:#eef3f0;
  border-radius:999px;
}

.bases-view-actions button{
  border:0;
  background:transparent;
  color:var(--bases-teal);
  padding:.6rem .9rem;
  border-radius:999px;
  font-weight:800;
  cursor:pointer;
}

.bases-view-actions button.active{
  background:#fff;
  box-shadow:0 4px 14px rgba(0,40,46,.1);
}

.bases-active-filter-list{
  display:flex;
  gap:.5rem;
  flex-wrap:wrap;
  margin:0 0 1rem;
}

.bases-active-filter-list span{
  background:#eef5ef;
  border:1px solid #d6e3d9;
  color:var(--bases-green-dark);
  border-radius:999px;
  padding:.45rem .72rem;
  font-size:.9rem;
  font-weight:800;
}

.bases-resources.grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1rem;
}

.bases-resource-card{
  background:#fff;
  border:1px solid var(--bases-line);
  border-radius:var(--bases-radius);
  min-height:315px;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  box-shadow:0 8px 24px rgba(0,40,46,.07);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.bases-resource-card:hover{
  transform:translateY(-3px);
  border-color:#c3d5ca;
  box-shadow:var(--bases-shadow);
}

.bases-resource-card__body{
  padding:1.1rem;
  display:flex;
  flex-direction:column;
  gap:.8rem;
  flex:1;
}

.bases-resource-title-row{
  display:grid;
  grid-template-columns:48px 1fr;
  gap:.8rem;
  align-items:start;
}

.bases-resource-icon{
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  border-radius:16px;
  background:linear-gradient(135deg,#eef5df,#dbe7ff);
  color:var(--bases-blue);
  font-weight:900;
  font-size:1.35rem;
}

.bases-resource-card h3{
  margin:0;
  font-size:1.12rem;
  line-height:1.2;
  color:var(--bases-teal);
}

.bases-tags{
  display:flex;
  gap:.35rem;
  flex-wrap:wrap;
}

.bases-tag{
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  background:#eef4f0;
  color:#315348;
  padding:.28rem .52rem;
  font-size:.75rem;
  font-weight:800;
}

.bases-tag[data-group="3"]{
  background:#edf4df;
  color:#4f6e16;
}

.bases-tag[data-group="1"]{
  background:#e9efff;
  color:#213f83;
}

.bases-description{
  color:#52625e;
  margin:0;
  line-height:1.5;
  display:-webkit-box;
  -webkit-line-clamp:4;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

.bases-resource-card__footer{
  border-top:1px solid var(--bases-line);
  padding:.85rem 1rem;
  display:flex;
  justify-content:space-between;
  gap:.65rem;
  background:#fbfdfc;
}

.bases-btn{
  border:0;
  border-radius:999px;
  padding:.68rem .88rem;
  font-weight:800;
  cursor:pointer;
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.45rem;
}

.bases-btn-primary{
  background:var(--bases-green);
  color:#fff;
}

.bases-btn-primary:hover,
.bases-btn-primary:focus{
  background:var(--bases-green-dark);
  text-decoration:none;
}

.bases-btn-ghost{
  background:#eef4f0;
  color:var(--bases-teal);
}

.bases-btn-ghost:hover,
.bases-btn-ghost:focus{
  background:#e2ebe6;
}

.bases-resources.list{
  display:flex;
  flex-direction:column;
  gap:.85rem;
}

.bases-resources.list .bases-resource-card{
  min-height:0;
}

.bases-resources.list .bases-resource-card__body{
  display:grid;
  grid-template-columns:48px minmax(190px,.55fr) minmax(0,1fr);
  gap:1rem;
  align-items:start;
}

.bases-resources.list .bases-description{
  -webkit-line-clamp:3;
}

.bases-resources.list .bases-resource-card__footer{
  justify-content:flex-end;
}

.bases-empty{
  display:none;
  background:#fff;
  border:1px dashed #c6d5cf;
  border-radius:var(--bases-radius);
  padding:2rem;
  text-align:center;
  color:#60716b;
}

.bases-empty.visible{
  display:block;
}

.bases-load-more{
  margin:1.6rem auto 0;
  display:block;
  border:0;
  border-radius:999px;
  background:var(--bases-green);
  color:#fff;
  padding:.9rem 1.35rem;
  font-weight:800;
  cursor:pointer;
}

.bases-load-more[hidden]{
  display:none;
}

.bases-modal{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.55);
  display:grid;
  place-items:center;
  padding:1rem;
  z-index:100;
}

.bases-modal[hidden]{
  display:none;
}

.bases-modal__panel{
  background:#fff;
  border-radius:26px;
  max-width:880px;
  width:100%;
  max-height:86vh;
  overflow:auto;
  box-shadow:0 25px 60px rgba(0,0,0,.25);
}

.bases-modal__head{
  display:flex;
  align-items:start;
  justify-content:space-between;
  gap:1rem;
  border-bottom:1px solid var(--bases-line);
  padding:1.25rem;
}

.bases-modal__head h2{
  margin:0;
  color:var(--bases-teal);
}

.bases-modal__close{
  border:0;
  background:#eef4f0;
  border-radius:50%;
  width:38px;
  height:38px;
  cursor:pointer;
  font-size:1.4rem;
}

.bases-modal__body{
  padding:1.25rem;
  line-height:1.65;
  color:#33423d;
}

.bases-modal__body h4{
  display:none;
}

.bases-modal__foot{
  padding:1.25rem;
  border-top:1px solid var(--bases-line);
  display:flex;
  justify-content:flex-end;
}

@media (max-width:1100px){
  .bases-hero__grid,
  .bases-layout{
    grid-template-columns:1fr;
  }

  .bases-filters{
    position:static;
  }

  .bases-resources.grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .bases-resources.list .bases-resource-card__body{
    grid-template-columns:48px 1fr;
  }

  .bases-resources.list .bases-description{
    grid-column:2;
  }
}

@media (max-width:700px){
  .bases-hero{
    padding:2.8rem 0 2.4rem;
  }

  .bases-searchbox{
    grid-template-columns:1fr;
    padding:.75rem;
  }

  .bases-searchbox svg{
    display:none;
  }

  .bases-metrics{
    grid-template-columns:1fr;
  }

  .bases-content-head{
    align-items:flex-start;
    flex-direction:column;
  }

  .bases-resources.grid{
    grid-template-columns:1fr;
  }

  .bases-resources.list .bases-resource-card__body{
    display:flex;
  }

  .bases-resource-card__footer{
    flex-direction:column;
  }
}

/* =========================================================
   MAQUETA BASES UNAL - VISTA AJUSTADA SEGÚN REFERENCIA PPT
   ========================================================= */

:root{
  --bases-deep:#003f49;
  --bases-green:#3d7e4a;
  --bases-soft:#f3f7f4;
  --bases-border:#d9e4de;
  --bases-chip:#edf4ef;
  --bases-chip-green:#dff0c9;
}

.bases-main--powerpoint{
  background:linear-gradient(180deg,#ffffff 0%,#f3f8f5 100%);
  min-height:720px;
  padding:0;
}

.bases-dashboard{
  width:100%;
  max-width:1600px;
  margin:0 auto;
  display:grid;
  grid-template-columns:356px minmax(0,1fr) 188px;
  gap:1rem;
  align-items:start;
  padding:0 0 2.75rem;
}

.bases-dashboard .bases-filters{
  position:sticky;
  top:157px;
  align-self:start;
  min-height:calc(100vh - 180px);
  margin:52px 0 0 8px;
  padding:1.45rem 1.45rem 1.6rem;
  background:#fff;
  border:1px solid var(--bases-border);
  border-radius:24px 24px 0 0;
  box-shadow:0 8px 18px rgba(0,63,73,.08);
}

.bases-dashboard .bases-filters h2{
  margin:0 0 1.45rem;
  color:var(--bases-deep);
  font-size:1.58rem;
  line-height:1.1;
  letter-spacing:.01em;
}

.bases-dashboard .bases-field{
  margin:0 0 1.12rem;
}

.bases-dashboard .bases-field label{
  display:block;
  margin:0 0 .52rem;
  color:#65736b;
  font-size:1rem;
  font-weight:800;
}

.bases-dashboard .bases-field select{
  width:100%;
  min-height:52px;
  padding:.2rem 1rem;
  color:#3d4240;
  background:#fff;
  border:1.5px solid #cfdcd5;
  border-radius:15px;
  font-size:1.08rem;
  font-weight:500;
  outline:none;
}

.bases-dashboard .bases-field select:focus{
  border-color:var(--bases-green);
  box-shadow:0 0 0 4px rgba(61,126,74,.15);
}

.bases-dashboard .bases-clear{
  width:100%;
  min-height:52px;
  border:0;
  border-radius:26px;
  background:#edf4ef;
  color:var(--bases-deep);
  font-size:1rem;
  font-weight:900;
  cursor:pointer;
}

.bases-dashboard .bases-clear:hover,
.bases-dashboard .bases-clear:focus{
  background:var(--bases-green);
  color:#fff;
}

.bases-center{
  min-width:0;
  padding:0 .4rem;
}

.bases-title-block{
  display:flex;
  flex-direction:column;
  align-items:center;
  padding-top:48px;
}

.bases-title-block h1{
  display:inline-block;
  margin:0 0 .7rem;
  padding:.02em .28em .07em;
  background:var(--bases-green);
  color:#fff;
  font-size:clamp(2.4rem,4.1vw,4.1rem);
  line-height:.96;
  font-weight:900;
  letter-spacing:.01em;
  text-align:center;
}

.bases-title-block .bases-searchbox{
  width:min(710px,92%);
  min-height:54px;
  margin:0 auto .68rem;
  display:flex;
  align-items:center;
  gap:.65rem;
  padding:.32rem .45rem .32rem .9rem;
  color:#74a07c;
  background:#fff;
  border:4px solid var(--bases-green);
  border-radius:17px;
  box-shadow:none;
}

.bases-title-block .bases-searchbox svg{
  flex:0 0 auto;
  color:#82ae8a;
}

.bases-title-block .bases-searchbox input{
  flex:1;
  min-width:0;
  min-height:38px;
  border:0;
  outline:none;
  color:var(--bases-deep);
  font-size:1rem;
  font-weight:700;
  background:transparent;
}

.bases-title-block .bases-searchbox input::placeholder{
  color:#8db694;
  opacity:1;
}

.bases-title-block .bases-searchbox button{
  min-height:40px;
  border:0;
  border-radius:14px;
  padding:0 1.25rem;
  color:#fff;
  background:#70a174;
  font-weight:900;
  cursor:pointer;
}

.bases-az-row{
  display:flex;
  align-items:center;
  justify-content:center;
  width:min(800px,96%);
  margin:0 auto .9rem;
  background:rgba(240,243,240,.92);
  padding:.25rem .4rem;
  overflow:hidden;
}

.bases-az-row .bases-az{
  display:flex;
  flex-wrap:nowrap;
  align-items:center;
  gap:.65rem;
  max-width:100%;
  overflow:hidden;
}

.bases-az-row .bases-az button,
.bases-az-arrow{
  width:31px;
  height:31px;
  min-width:31px;
  border:1.6px solid #9ccf3a;
  border-radius:50%;
  background:#fff;
  color:#6aa51f;
  font-size:.93rem;
  font-weight:800;
  line-height:1;
  cursor:pointer;
}

.bases-az-row .bases-az button:first-child{
  width:auto;
  min-width:34px;
  padding:0 .5rem;
  border-radius:18px;
  font-size:0;
}

.bases-az-row .bases-az button:first-child::before{
  content:'↺';
  font-size:.9rem;
}

.bases-az-row .bases-az button.active,
.bases-az-row .bases-az button:hover,
.bases-az-row .bases-az button:focus{
  background:#def4ba;
  color:#386a13;
}

.bases-az-arrow{
  border-color:#d6ded8;
  background:#f8faf8;
  color:#9aa79f;
  cursor:default;
}

.bases-dashboard .bases-content-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:1rem;
  margin:0 0 1.2rem;
  padding:0 .3rem;
}

.bases-dashboard .bases-content-head .bases-eyebrow{
  display:none;
}

.bases-dashboard .bases-content-head h2{
  margin:0;
  color:var(--bases-deep);
  font-size:clamp(2rem,3.1vw,3rem);
  line-height:1.05;
  font-weight:900;
  letter-spacing:.06em;
}

.bases-dashboard .bases-view-actions{
  display:flex;
  align-items:center;
  gap:.45rem;
  padding:.25rem;
  margin-top:.1rem;
  background:#edf5f0;
  border-radius:28px;
  box-shadow:0 5px 14px rgba(0,63,73,.16);
}

.bases-dashboard .bases-view-actions button{
  min-height:40px;
  padding:0 1.25rem;
  border:0;
  border-radius:24px;
  background:transparent;
  color:var(--bases-deep);
  font-weight:900;
  cursor:pointer;
}

.bases-dashboard .bases-view-actions button.active{
  background:#fff;
  box-shadow:0 5px 14px rgba(0,63,73,.12);
}

.bases-dashboard .bases-active-filter-list{
  display:flex;
  flex-wrap:wrap;
  gap:.5rem;
  min-height:0;
  margin:.1rem .3rem .9rem;
}

.bases-dashboard .bases-active-filter-list span{
  background:#eaf4ef;
  color:var(--bases-deep);
  border-radius:18px;
  padding:.35rem .75rem;
  font-size:.85rem;
  font-weight:800;
}

.bases-dashboard .bases-resources.grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(240px,1fr));
  gap:1.35rem;
}

.bases-dashboard .bases-resource-card{
  min-height:292px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  overflow:hidden;
  background:#fff;
  border:1px solid #dbe6e0;
  border-radius:25px 25px 0 0;
  box-shadow:0 10px 22px rgba(0,63,73,.08);
}

.bases-dashboard .bases-resource-card__body{
  padding:1.25rem 1.3rem .6rem;
}

.bases-dashboard .bases-resource-title-row{
  display:grid;
  grid-template-columns:62px minmax(0,1fr);
  gap:.95rem;
  align-items:start;
}

.bases-dashboard .bases-resource-icon{
  width:62px;
  height:48px;
  border-radius:18px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(135deg,#eff5e8,#e3edf8);
  color:#193c8a;
  font-size:1.4rem;
  font-weight:900;
}

.bases-dashboard .bases-resource-card h3{
  margin:.05rem 0 .5rem;
  color:#004653;
  font-size:1.12rem;
  line-height:1.15;
  font-weight:900;
}

.bases-dashboard .bases-tags{
  display:flex;
  flex-wrap:wrap;
  gap:.35rem .45rem;
}

.bases-dashboard .bases-tag{
  display:inline-flex;
  align-items:center;
  min-height:22px;
  padding:.18rem .65rem;
  border-radius:14px;
  background:var(--bases-chip);
  color:#004653;
  font-size:.76rem;
  line-height:1.1;
  font-weight:900;
}

.bases-dashboard .bases-tag[data-group="3"]{
  color:#4e7506;
  background:var(--bases-chip-green);
}

.bases-dashboard .bases-tag[data-group="1"]{
  color:#204085;
  background:#eef2ff;
}

.bases-dashboard .bases-description{
  margin:1.25rem 0 .25rem;
  color:#495b5e;
  font-size:1.03rem;
  line-height:1.36;
  font-weight:650;
}

.bases-dashboard .bases-resource-card__footer{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:.8rem;
  padding:.85rem 1.1rem 1.1rem;
  border-top:1px solid #edf3ef;
}

.bases-dashboard .bases-btn{
  min-height:38px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:20px;
  padding:0 .95rem;
  font-size:.88rem;
  font-weight:900;
  text-decoration:none;
  cursor:pointer;
}

.bases-dashboard .bases-btn-ghost{
  border:1px solid #d8e6de;
  color:#004653;
  background:#fff;
}

.bases-dashboard .bases-btn-primary{
  border:1px solid var(--bases-green);
  color:#fff;
  background:var(--bases-green);
}

.bases-dashboard .bases-resources.list{
  display:grid;
  grid-template-columns:1fr;
  gap:1rem;
}

.bases-dashboard .bases-resources.list .bases-resource-card{
  min-height:auto;
  border-radius:22px;
}

.bases-dashboard .bases-resources.list .bases-resource-card__body{
  padding:1.1rem 1.25rem;
}

.bases-dashboard .bases-empty{
  display:none;
  margin:1rem 0;
  padding:2rem;
  background:#fff;
  border:1px solid var(--bases-border);
  border-radius:20px;
  color:var(--bases-deep);
}

.bases-dashboard .bases-empty.visible{
  display:block;
}

.bases-dashboard .bases-load-more{
  display:block;
  margin:2rem auto 0;
  min-height:48px;
  border:0;
  border-radius:28px;
  background:var(--bases-green);
  color:#fff;
  padding:0 2.2rem;
  font-weight:900;
  cursor:pointer;
}

.bases-dashboard .bases-load-more[hidden]{
  display:none !important;
}

.bases-quick-card--compact{
  position:sticky;
  top:157px;
  margin:8px 4px 0 0;
  padding:.85rem .75rem 1rem;
  background:#f7fbf7;
  border:1px solid #d5e3dc;
  border-top:7px solid #1e438c;
  border-radius:0 0 8px 8px;
  box-shadow:0 8px 16px rgba(0,63,73,.14);
}

.bases-quick-card--compact .bases-eyebrow{
  margin:0 0 .25rem;
  color:#d2e96f;
  font-size:.58rem;
  line-height:1;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.bases-quick-card--compact h2{
  margin:0 0 .6rem;
  color:#004653;
  font-size:.78rem;
  line-height:1.1;
  font-weight:900;
}

.bases-quick-card--compact .bases-quick-links{
  display:grid;
  gap:.45rem;
}

.bases-quick-card--compact .bases-quick-links a{
  display:grid;
  grid-template-columns:26px minmax(0,1fr);
  gap:.45rem;
  align-items:center;
  min-height:42px;
  padding:.38rem .42rem;
  background:#fff;
  border:1px solid #e5eee9;
  border-radius:8px;
  color:#004653;
  text-decoration:none;
}

.bases-quick-card--compact .bases-quick-links span{
  width:24px;
  height:24px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:#eaf4d9;
  color:#81ad2c;
  font-size:.75rem;
  font-weight:900;
}

.bases-quick-card--compact .bases-quick-links strong{
  display:block;
  font-size:.58rem;
  line-height:1.05;
  color:#004653;
}

.bases-quick-card--compact .bases-quick-links small{
  display:block;
  margin-top:.12rem;
  color:#6b7b76;
  font-size:.47rem;
  line-height:1.05;
  font-weight:700;
}

.bases-visually-hidden{
  position:absolute;
  width:1px;
  height:1px;
  overflow:hidden;
  clip:rect(0 0 0 0);
  white-space:nowrap;
}

/* Ajustes para que el encabezado se acerque a la proporción de la plantilla */
.unal-header{
  box-shadow:none;
}

.unal-header__top{
  height:43px;
}

.unal-nav{
  min-height:51px;
}

.site-menu{
  min-height:48px;
}

.unal-seal{
  width:104px;
  height:116px;
  left:-20px;
}

.unal-seal img{
  width:86px;
  height:86px;
}

.unal-breadcrumb,
.unal-nav,
.site-menu,
.unal-search__inner{
  --header-offset:128px;
}

@media (max-width:1350px){
  .bases-dashboard{
    grid-template-columns:300px minmax(0,1fr) 160px;
  }
  .bases-dashboard .bases-resources.grid{
    grid-template-columns:repeat(3,minmax(210px,1fr));
  }
  .bases-dashboard .bases-content-head h2{
    font-size:2.15rem;
  }
  .bases-dashboard .bases-resource-title-row{
    grid-template-columns:54px minmax(0,1fr);
  }
  .bases-dashboard .bases-resource-icon{
    width:54px;
    height:44px;
  }
}

@media (max-width:1100px){
  .bases-dashboard{
    grid-template-columns:280px minmax(0,1fr);
  }
  .bases-quick-card--compact{
    display:none;
  }
  .bases-dashboard .bases-resources.grid{
    grid-template-columns:repeat(2,minmax(220px,1fr));
  }
}

@media (max-width:820px){
  .bases-dashboard{
    display:block;
    padding:0 1rem 2rem;
  }
  .bases-dashboard .bases-filters{
    position:static;
    min-height:auto;
    margin:1rem 0;
    border-radius:22px;
  }
  .bases-title-block{
    padding-top:1rem;
  }
  .bases-dashboard .bases-content-head{
    flex-direction:column;
  }
  .bases-dashboard .bases-resources.grid{
    grid-template-columns:1fr;
  }
  .bases-az-row{
    justify-content:flex-start;
    overflow:auto;
  }
  .bases-az-row .bases-az{
    overflow:visible;
  }
}


/* =========================================================
   AJUSTES V2 - ARMONIZACIÓN SINAB / BASES UNAL
   Paleta institucional: #203B7E, #2678BF, #94B43B, #E15E42, #DC313A, #F8C21C, #33B3BC
   ========================================================= */
:root{
  --unal-green:#94B43B;
  --unal-green-dark:#6E8E21;
  --unal-blue:#203B7E;
  --unal-blue-dark:#162B61;
  --bases-bg:#F6F8FB;
  --bases-ink:#1C2B34;
  --bases-deep:#073D49;
  --bases-muted:#607077;
  --bases-line:#DDE7EA;
  --bases-card:#FFFFFF;
  --bases-green:#94B43B;
  --bases-green-dark:#6E8E21;
  --bases-blue:#203B7E;
  --bases-blue-soft:#EAF0FF;
  --bases-cyan:#33B3BC;
  --bases-sky:#2678BF;
  --bases-orange:#E15E42;
  --bases-red:#DC313A;
  --bases-yellow:#F8C21C;
  --bases-chip:#EEF5F3;
  --bases-chip-green:#EEF6DD;
  --bases-shadow:0 16px 38px rgba(32,59,126,.10);
}

html, body{
  font-family:"Ancizar Sans", "Ancízar Sans", "Muli", "Segoe UI", Arial, sans-serif;
  font-weight:400;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}

.bases-main--powerpoint{
  background:linear-gradient(180deg,#fff 0%,#F7FAFB 32%,#fff 100%);
}

.bases-dashboard{
  grid-template-columns:300px minmax(0,1fr) 230px;
  gap:1.15rem;
}

.bases-filters{
  box-shadow:0 12px 28px rgba(32,59,126,.08);
  border-color:#D7E3E5;
}

.bases-filters h2,
.bases-field label,
.bases-clear,
.bases-dashboard .bases-resource-card h3,
.bases-dashboard .bases-view-actions button,
.bases-dashboard .bases-load-more,
.bases-resource-card h3{
  font-weight:700;
}

.bases-field label{
  color:#526468;
}

.bases-field select{
  border-color:#CBDADC;
  font-weight:400;
}

.bases-title-block{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  border-radius:0 0 24px 24px;
}

.bases-title-block h1{
  background:#3F804F;
  font-weight:700;
  letter-spacing:.01em;
  box-shadow:0 12px 26px rgba(32,59,126,.08);
  z-index:2;
}

.bases-logo-ribbon{
  position:absolute;
  z-index:0;
  left:50%;
  top:102px;
  width:min(840px,96%);
  height:74px;
  transform:translateX(-50%);
  overflow:hidden;
  opacity:.18;
  pointer-events:none;
  mask-image:linear-gradient(90deg,transparent 0%,#000 12%,#000 88%,transparent 100%);
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 12%,#000 88%,transparent 100%);
}

.bases-logo-ribbon::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(255,255,255,.95),rgba(255,255,255,.2),rgba(255,255,255,.95));
  z-index:2;
}

.bases-logo-ribbon__track{
  height:100%;
  display:flex;
  align-items:center;
  gap:2.4rem;
  width:max-content;
  animation:basesLogoRibbon 62s linear infinite;
}

.bases-logo-ribbon__track img{
  height:50px;
  width:132px;
  object-fit:contain;
  flex:0 0 auto;
  filter:saturate(.85) contrast(1.02);
}

@keyframes basesLogoRibbon{
  from{ transform:translateX(0); }
  to{ transform:translateX(-50%); }
}

@media (prefers-reduced-motion:reduce){
  .bases-logo-ribbon__track{ animation:none; }
}

.bases-title-block .bases-searchbox{
  position:relative;
  z-index:3;
  border-color:#3F804F;
  box-shadow:0 12px 28px rgba(32,59,126,.10);
  background:rgba(255,255,255,.96);
  backdrop-filter:blur(3px);
}

.bases-title-block .bases-searchbox input{
  font-weight:400;
  color:#26373D;
}

.bases-title-block .bases-searchbox button{
  background:#5E9B67;
  font-weight:700;
}

.bases-title-block .bases-searchbox button:hover,
.bases-title-block .bases-searchbox button:focus{
  background:var(--bases-blue);
}

.bases-az-row{
  position:relative;
  z-index:3;
  width:min(850px,96%);
  background:rgba(246,248,251,.92);
  border-radius:18px;
  border:1px solid #E1E9E6;
}

.bases-az-row .bases-az{
  overflow-x:auto;
  overflow-y:hidden;
  scroll-behavior:smooth;
  scrollbar-width:thin;
  padding:.15rem .25rem;
}

.bases-az-row .bases-az::-webkit-scrollbar{height:6px;}
.bases-az-row .bases-az::-webkit-scrollbar-thumb{background:#C6D6CF;border-radius:999px;}

.bases-az-row .bases-az button,
.bases-az-arrow{
  border-color:var(--bases-green);
  color:#5A8F1B;
  font-weight:500;
}

.bases-az-arrow{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-color:#B8C8CD;
  color:var(--bases-blue);
  background:#fff;
  cursor:pointer;
  transition:opacity .2s ease, transform .2s ease;
}

.bases-az-arrow:disabled{
  opacity:.38;
  cursor:not-allowed;
}

.bases-az-arrow:not(:disabled):hover{
  transform:translateY(-1px);
  background:var(--bases-blue);
  color:#fff;
  border-color:var(--bases-blue);
}

.bases-az-row .bases-az button.active,
.bases-az-row .bases-az button:hover,
.bases-az-row .bases-az button:focus{
  background:var(--bases-green);
  color:#fff;
  border-color:var(--bases-green);
}

.bases-dashboard .bases-content-head h2{
  color:var(--bases-deep);
  font-weight:700;
  letter-spacing:.035em;
}

.bases-dashboard .bases-view-actions{
  background:#ECF3F0;
}

.bases-dashboard .bases-view-actions button{
  color:#07414B;
}

.bases-dashboard .bases-resource-card{
  border-radius:24px;
  border-color:#DCE8E9;
  box-shadow:0 12px 24px rgba(32,59,126,.07);
}

.bases-dashboard .bases-resource-icon{
  background:linear-gradient(135deg,#F0F7E3,#E9F3FF);
  color:var(--bases-blue);
  font-weight:600;
}

.bases-dashboard .bases-resource-card h3{
  color:#064B59;
  font-weight:700;
}

.bases-dashboard .bases-tag{
  font-weight:500;
  color:#264F51;
}

.bases-dashboard .bases-tag[data-group="1"]{
  background:#EAF0FF;
  color:#203B7E;
}

.bases-dashboard .bases-tag[data-group="3"]{
  background:#EEF6DD;
  color:#5D7F12;
}

.bases-dashboard .bases-description{
  color:#4E6067;
  font-weight:400;
  line-height:1.48;
}

.bases-dashboard .bases-btn{
  font-weight:600;
}

.bases-dashboard .bases-btn-primary{
  background:var(--bases-blue);
  border-color:var(--bases-blue);
}

.bases-dashboard .bases-btn-primary:hover,
.bases-dashboard .bases-btn-primary:focus{
  background:var(--bases-sky);
  border-color:var(--bases-sky);
}

.bases-dashboard .bases-btn-ghost:hover,
.bases-dashboard .bases-btn-ghost:focus{
  border-color:var(--bases-cyan);
  color:var(--bases-blue);
}

.bases-quick-card--compact{
  top:154px;
  margin:8px 6px 0 0;
  padding:1rem .95rem 1.05rem;
  background:#F8FBFC;
  border:1px solid #D6E3E8;
  border-top:7px solid var(--bases-blue);
  border-radius:0 0 14px 14px;
  box-shadow:0 14px 28px rgba(32,59,126,.13);
}

.bases-quick-card--compact .bases-eyebrow{
  color:var(--bases-yellow);
  font-size:.72rem;
  font-weight:600;
  letter-spacing:.06em;
}

.bases-quick-card--compact h2{
  color:var(--bases-deep);
  font-size:1.02rem;
  font-weight:700;
  margin-bottom:.85rem;
}

.bases-quick-card--compact .bases-quick-links{
  gap:.62rem;
}

.bases-quick-card--compact .bases-quick-links a{
  grid-template-columns:34px minmax(0,1fr);
  min-height:58px;
  padding:.55rem .6rem;
  border-radius:12px;
  border-color:#E0EAED;
}

.bases-quick-card--compact .bases-quick-links a:hover,
.bases-quick-card--compact .bases-quick-links a:focus{
  border-color:var(--bases-cyan);
  box-shadow:0 10px 20px rgba(32,59,126,.10);
}

.bases-quick-card--compact .bases-quick-links span{
  width:30px;
  height:30px;
  background:#ECF6DF;
  color:var(--bases-green-dark);
  font-size:.92rem;
  font-weight:600;
}

.bases-quick-card--compact .bases-quick-links strong{
  color:#073D49;
  font-size:.78rem;
  line-height:1.12;
  font-weight:700;
}

.bases-quick-card--compact .bases-quick-links small{
  color:#66777C;
  font-size:.68rem;
  line-height:1.15;
  font-weight:400;
}

.bases-active-filter-list span,
.bases-dashboard .bases-active-filter-list span{
  font-weight:500;
}

.bases-load-more,
.bases-dashboard .bases-load-more{
  background:var(--bases-blue);
  font-weight:600;
}

.bases-load-more:hover,
.bases-load-more:focus,
.bases-dashboard .bases-load-more:hover,
.bases-dashboard .bases-load-more:focus{
  background:var(--bases-sky);
}

@media (max-width:1350px){
  .bases-dashboard{ grid-template-columns:295px minmax(0,1fr) 220px; }
}

@media (max-width:1180px){
  .bases-dashboard{ grid-template-columns:280px minmax(0,1fr); }
  .bases-quick-card--compact{ display:none; }
}

@media (max-width:820px){
  .bases-logo-ribbon{ top:78px; height:62px; }
  .bases-logo-ribbon__track img{ height:42px; width:112px; }
  .bases-title-block h1{ font-size:clamp(2rem,12vw,3rem); }
  .bases-az-row{ width:100%; }
  .bases-title-block .bases-searchbox{ width:100%; }
}


/* =========================================================
   Ajuste solicitado: título con marca UNAL, rail derecho y
   logos dinámicos debajo del ecosistema bibliotecario.
   ========================================================= */
.bases-dashboard{
  grid-template-columns:330px minmax(0,1fr) 270px;
  gap:1.35rem;
  padding-right:1rem;
}

.bases-title-block{
  overflow:visible;
  border-radius:0;
  padding-top:42px;
}

.bases-title-lockup{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:0;
  width:min(640px,95%);
  height:74px;
  margin:0 auto .75rem;
  background:linear-gradient(90deg,rgba(148,180,59,.06),rgba(32,59,126,.05));
}

.bases-title-lockup h1,
.bases-title-block h1{
  margin:0;
  padding:.2rem .65rem .32rem 1rem;
  background:transparent;
  color:#73845B;
  box-shadow:none;
  font-size:clamp(2rem,3.4vw,3.05rem);
  line-height:1;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.015em;
  white-space:nowrap;
}

.bases-title-mark{
  display:block;
  height:64px;
  width:auto;
  max-width:170px;
  object-fit:contain;
  background:#7E925A;
  border-radius:0 26px 26px 0;
  padding:.33rem .48rem .33rem .34rem;
}

.bases-title-block .bases-searchbox{
  width:min(720px,94%);
  min-height:52px;
  border:4px solid #3F804F;
  box-shadow:0 10px 22px rgba(32,59,126,.08);
  margin-bottom:.7rem;
}

.bases-title-block .bases-searchbox input{
  font-weight:400;
}

.bases-title-block .bases-searchbox button{
  font-weight:600;
}

.bases-logo-ribbon{display:none !important;}

.bases-right-rail{
  position:sticky;
  top:154px;
  align-self:start;
  display:grid;
  gap:1rem;
  margin:8px 0 0 0;
}

.bases-quick-card--compact{
  position:static;
  top:auto;
  margin:0;
  padding:1.05rem 1rem 1.08rem;
  border-radius:0 0 16px 16px;
}

.bases-quick-card--compact h2{
  font-size:1.15rem;
  font-weight:700;
}

.bases-quick-card--compact .bases-quick-links a{
  min-height:62px;
  grid-template-columns:38px minmax(0,1fr);
}

.bases-quick-card--compact .bases-quick-links span{
  width:34px;
  height:34px;
}

.bases-quick-card--compact .bases-quick-links strong{
  font-size:.84rem;
  font-weight:650;
}

.bases-quick-card--compact .bases-quick-links small{
  font-size:.71rem;
  font-weight:400;
}

.bases-logo-showcase{
  background:rgba(255,255,255,.92);
  border:1px solid #D6E3E8;
  border-radius:18px;
  box-shadow:0 14px 28px rgba(32,59,126,.10);
  padding:.9rem .8rem 1rem;
  overflow:hidden;
}

.bases-logo-showcase p{
  margin:0 0 .65rem;
  color:#203B7E;
  font-size:.95rem;
  font-weight:650;
}

.bases-logo-showcase__viewport{
  height:255px;
  overflow:hidden;
  position:relative;
  border-radius:14px;
  background:linear-gradient(180deg,#F8FBFC,#EEF6F7);
  mask-image:linear-gradient(180deg,transparent 0%,#000 10%,#000 90%,transparent 100%);
  -webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 10%,#000 90%,transparent 100%);
}

.bases-logo-showcase__track{
  display:grid;
  grid-template-columns:1fr;
  gap:.72rem;
  padding:.7rem;
  animation:basesLogoShowcase 45s linear infinite;
}

.bases-logo-showcase__track img{
  width:100%;
  height:58px;
  object-fit:contain;
  background:rgba(255,255,255,.86);
  border:1px solid rgba(214,227,232,.8);
  border-radius:12px;
  padding:.5rem .65rem;
  opacity:.72;
  filter:saturate(.95) contrast(1.02);
}

.bases-logo-showcase:hover .bases-logo-showcase__track{
  animation-play-state:paused;
}

@keyframes basesLogoShowcase{
  from{transform:translateY(0)}
  to{transform:translateY(-50%)}
}

@media (prefers-reduced-motion:reduce){
  .bases-logo-showcase__track{animation:none;}
}

.bases-az-row{
  width:min(850px,96%);
}

.bases-az-row .bases-az{
  overflow-x:auto;
  min-width:0;
}

.bases-az-row .bases-az button{
  flex:0 0 auto;
}

@media (max-width:1350px){
  .bases-dashboard{grid-template-columns:295px minmax(0,1fr) 245px;}
}

@media (max-width:1180px){
  .bases-dashboard{grid-template-columns:280px minmax(0,1fr); padding-right:0;}
  .bases-right-rail{display:none;}
}

@media (max-width:820px){
  .bases-title-lockup{width:100%; height:auto; min-height:62px;}
  .bases-title-lockup h1,.bases-title-block h1{font-size:clamp(1.55rem,9vw,2.4rem); white-space:normal; text-align:center;}
  .bases-title-mark{height:54px; max-width:138px;}
}

/* =========================================================
   Ajuste final solicitado: título con Ancizar Sans Extrabold
   y marca UNAL en el tono verde suministrado.
   ========================================================= */
.bases-title-lockup{
  width:min(650px,96%);
  height:76px;
  background:linear-gradient(90deg,rgba(255,255,255,.86),rgba(248,250,246,.96));
  overflow:visible;
}

.bases-title-lockup h1,
.bases-title-block h1{
  font-family:"Ancizar Sans Extrabold", "Ancizar Sans", "Ancízar Sans", "Muli", "Segoe UI", Arial, sans-serif;
  font-weight:800;
  color:#7E925A;
  letter-spacing:.012em;
  text-transform:uppercase;
  font-size:clamp(2.15rem,3.65vw,3.35rem);
  line-height:.98;
}

.bases-title-mark{
  height:72px;
  max-width:184px;
  padding:0;
  background:transparent;
  border-radius:0;
  object-fit:contain;
  image-rendering:auto;
}

@media (max-width: 767px){
  .bases-title-lockup{
    flex-wrap:nowrap;
    width:100%;
    min-height:66px;
  }
  .bases-title-lockup h1,
  .bases-title-block h1{
    font-size:clamp(1.55rem,8vw,2.25rem);
  }
  .bases-title-mark{
    height:58px;
    max-width:150px;
  }
}

/* =========================================================
   Corrección vista en lista - Bases UNAL
   ========================================================= */
.bases-dashboard .bases-resources.list{
  display:flex;
  flex-direction:column;
  gap:1rem;
}

.bases-dashboard .bases-resources.list .bases-resource-card{
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto;
  align-items:stretch;
  min-height:0;
  border-radius:22px;
  overflow:hidden;
}

.bases-dashboard .bases-resources.list .bases-resource-card__body{
  display:grid;
  grid-template-columns:72px minmax(210px, .72fr) minmax(260px, 1fr);
  align-items:start;
  gap:1.15rem;
  padding:1.15rem 1.25rem;
}

.bases-dashboard .bases-resources.list .bases-resource-title-row{
  display:contents;
}

.bases-dashboard .bases-resources.list .bases-resource-icon{
  grid-column:1;
  width:58px;
  height:48px;
}

.bases-dashboard .bases-resources.list .bases-resource-title-row > div{
  grid-column:2;
  min-width:0;
}

.bases-dashboard .bases-resources.list .bases-resource-card h3{
  margin:0 0 .5rem;
  font-size:1.05rem;
  line-height:1.22;
}

.bases-dashboard .bases-resources.list .bases-tags{
  max-width:100%;
  gap:.32rem .42rem;
}

.bases-dashboard .bases-resources.list .bases-tag{
  font-size:.72rem;
  min-height:21px;
  padding:.16rem .55rem;
}

.bases-dashboard .bases-resources.list .bases-description{
  grid-column:3;
  margin:0;
  align-self:center;
  font-size:1rem;
  line-height:1.45;
  font-weight:500;
  -webkit-line-clamp:3;
}

.bases-dashboard .bases-resources.list .bases-resource-card__footer{
  border-top:0;
  border-left:1px solid #edf3ef;
  background:#fbfdfc;
  padding:1rem 1.1rem;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:stretch;
  gap:.7rem;
  min-width:155px;
}

.bases-dashboard .bases-resources.list .bases-btn{
  width:100%;
  white-space:nowrap;
}

@media (max-width: 1180px){
  .bases-dashboard .bases-resources.list .bases-resource-card{
    grid-template-columns:1fr;
  }

  .bases-dashboard .bases-resources.list .bases-resource-card__body{
    grid-template-columns:64px minmax(180px, .85fr) minmax(220px, 1fr);
  }

  .bases-dashboard .bases-resources.list .bases-resource-card__footer{
    border-left:0;
    border-top:1px solid #edf3ef;
    flex-direction:row;
    justify-content:flex-end;
    min-width:0;
  }

  .bases-dashboard .bases-resources.list .bases-btn{
    width:auto;
  }
}

@media (max-width: 760px){
  .bases-dashboard .bases-resources.list .bases-resource-card__body{
    display:grid;
    grid-template-columns:58px minmax(0,1fr);
    gap:.9rem;
  }

  .bases-dashboard .bases-resources.list .bases-resource-icon{
    grid-column:1;
    grid-row:1;
  }

  .bases-dashboard .bases-resources.list .bases-resource-title-row > div{
    grid-column:2;
    grid-row:1;
  }

  .bases-dashboard .bases-resources.list .bases-description{
    grid-column:1 / -1;
    grid-row:2;
    align-self:start;
  }

  .bases-dashboard .bases-resources.list .bases-resource-card__footer{
    justify-content:space-between;
  }
}


/* =========================================================
   Mejora inspirada en plantilla Rectoría: hero institucional,
   breadcrumb y contenedor de lectura amplia para Bases UNAL.
   Se conserva Ancizar como familia base del portal.
   ========================================================= */
.bases-container{
  width:min(100% - 36px, 1280px);
  margin-inline:auto;
}

.bases-rectoria-hero{
  background:linear-gradient(135deg,#ffffff 0%,#f6f8fb 54%,#eef6f7 100%);
  border-bottom:1px solid #DDE7EA;
  padding:2.25rem 0 1.75rem;
}

.bases-rectoria-hero__grid{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(320px,.72fr);
  gap:2rem;
  align-items:stretch;
}

.bases-kicker{
  margin:0 0 .65rem;
  color:#607077;
  text-transform:uppercase;
  letter-spacing:.09em;
  font-size:.82rem;
  font-weight:600;
}

.bases-rectoria-hero__intro h1{
  margin:0 0 .75rem;
  color:#203B7E;
  font-family:"Ancizar Sans Extrabold", "Ancizar Sans", "Ancízar Sans", "Muli", "Segoe UI", Arial, sans-serif;
  font-size:clamp(2.25rem,4vw,4.2rem);
  line-height:.98;
  letter-spacing:.01em;
  font-weight:800;
}

.bases-hero-copy{
  margin:0;
  max-width:72ch;
  color:#46575E;
  font-size:1.06rem;
  line-height:1.65;
  font-weight:400;
}

.bases-hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:.75rem;
  margin-top:1.35rem;
}

.bases-hero-actions a{
  min-height:40px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  padding:0 1.05rem;
  border:1px solid #D5E2E5;
  background:#fff;
  color:#203B7E;
  font-weight:600;
  text-decoration:none;
  box-shadow:0 8px 18px rgba(32,59,126,.07);
}

.bases-hero-actions a:first-child{
  background:#203B7E;
  border-color:#203B7E;
  color:#fff;
}

.bases-hero-actions a:hover,
.bases-hero-actions a:focus{
  transform:translateY(-1px);
  border-color:#33B3BC;
  text-decoration:none;
}

.bases-rectoria-card{
  background:rgba(255,255,255,.92);
  border:1px solid #DDE7EA;
  border-radius:18px;
  padding:1.35rem;
  box-shadow:0 14px 32px rgba(32,59,126,.10);
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}

.bases-rectoria-card__icon{
  width:44px;
  height:44px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:14px;
  background:linear-gradient(135deg,#EEF6DD,#EAF0FF);
  color:#203B7E;
  font-size:1.25rem;
  margin-bottom:.8rem;
}

.bases-rectoria-card .bases-eyebrow{
  margin:0 0 .45rem;
  color:#6E8E21;
  font-size:.78rem;
  text-transform:uppercase;
  letter-spacing:.07em;
  font-weight:600;
}

.bases-rectoria-card h2{
  margin:0 0 .85rem;
  color:#073D49;
  font-size:1.25rem;
  line-height:1.32;
  font-weight:650;
}

.bases-meta{
  margin:0 0 1rem;
  color:#607077;
  font-size:.94rem;
}

.bases-cta-link{
  color:#203B7E;
  font-weight:700;
  text-decoration:none;
  width:max-content;
}

.bases-cta-link:hover,
.bases-cta-link:focus{
  color:#2678BF;
}

.bases-breadcrumbs{
  display:flex;
  align-items:center;
  gap:.55rem;
  padding:1rem 0 .2rem;
  color:#607077;
  font-size:.94rem;
}

.bases-breadcrumbs a{
  color:#607077;
  text-decoration:none;
}

.bases-breadcrumbs a:hover,
.bases-breadcrumbs a:focus{
  color:#203B7E;
}

.bases-main--powerpoint .bases-dashboard{
  width:min(100% - 36px, 1500px);
  margin:0 auto;
  padding-top:.35rem;
}

@media (max-width: 960px){
  .bases-rectoria-hero__grid{
    grid-template-columns:1fr;
  }

  .bases-rectoria-card{
    margin-top:.25rem;
  }

  .bases-breadcrumbs{
    flex-wrap:wrap;
  }
}

@media (max-width: 620px){
  .bases-container,
  .bases-main--powerpoint .bases-dashboard{
    width:min(100% - 24px, 1500px);
  }

  .bases-rectoria-hero{
    padding:1.5rem 0 1.2rem;
  }

  .bases-hero-actions a{
    width:100%;
  }
}

/* =========================================================
   AJUSTE DE LEGIBILIDAD - CABEZOTE Y FOOTER
   Reduce la negrita en navegación institucional y pie de página,
   conservando jerarquía visual sin saturar la lectura.
   ========================================================= */
.unal-header,
.unal-header a,
.unal-header button,
.unal-footer,
.unal-footer a,
.unal-footer p,
.unal-footer li,
.unal-footer span{
  font-weight:400 !important;
}

.unal-breadcrumb,
.unal-nav a,
.unal-nav button,
.search-trigger,
.unal-menu-toggle{
  font-weight:500 !important;
}

.unal-footer__links h2,
.unal-footer__legal strong,
.footer-social-network{
  font-weight:600 !important;
}

.footer-secondary-links{
  font-weight:400 !important;
}

.footer-social-icons a{
  font-weight:500 !important;
}

/* =========================================================
   Módulo funcional de accesibilidad + armonización Rectoría
   ========================================================= */
:root{
  --rectoria-top:#2f2f2f;
  --rectoria-green:#5f7f1f;
  --rectoria-green-soft:#94B43B;
  --rectoria-footer-dark:#182326;
  --access-panel-width:360px;
}

.unal-header{
  background:#fff;
  box-shadow:0 8px 24px rgba(0,0,0,.10);
}

.unal-header__top{
  background:var(--rectoria-top) !important;
  color:#fff;
}

.unal-nav{
  background:var(--rectoria-green) !important;
  color:#fff;
}

.site-menu{
  border-bottom:1px solid #d9d9d9;
  border-bottom-right-radius:32px;
  box-shadow:0 7px 18px rgba(0,0,0,.08);
}

.site-menu a{
  border-radius:0;
  min-height:48px;
  display:inline-flex;
  align-items:center;
  padding:0 1.05rem;
}

.site-menu a:hover,
.site-menu a:focus{
  background:#f1f1f1;
  color:#222;
  text-decoration:none;
}

.accessibility-link{
  border:0;
  background:transparent;
  color:#fff;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:34px;
  height:34px;
  border-left:1px solid rgba(255,255,255,.38);
  border-radius:0;
  padding:0;
}

.accessibility-link:hover,
.accessibility-link:focus{
  outline:2px solid rgba(255,255,255,.85);
  outline-offset:2px;
  text-decoration:none;
}

.unal-footer__links,
.unal-footer__social{
  background:
    linear-gradient(rgba(24,35,38,.88), rgba(24,35,38,.88)),
    radial-gradient(circle at 20% 10%, rgba(148,180,59,.18), transparent 28%),
    linear-gradient(135deg,#1c282b,#101719) !important;
}

.unal-footer__links{
  border-top-left-radius:44px;
  border-top:5px solid #003b46;
}

.unal-footer__links h2,
.footer-social-network{
  color:#d7ef89;
  letter-spacing:.035em;
}

.unal-footer__links a,
.footer-secondary-links > a:not(.footer-brand-link),
.unal-footer__legal a{
  text-decoration:underline;
  text-decoration-style:dotted;
  text-underline-offset:4px;
}

.unal-footer__legal{
  background:var(--rectoria-green) !important;
  border-top:0;
}

/* Panel de accesibilidad */
.accessibility-backdrop{
  position:fixed;
  inset:0;
  z-index:95;
  background:rgba(0,0,0,.24);
  backdrop-filter:blur(1px);
}

.accessibility-panel{
  position:fixed;
  top:92px;
  right:0;
  z-index:100;
  width:min(var(--access-panel-width), calc(100vw - 24px));
  max-height:calc(100vh - 112px);
  overflow:auto;
  transform:translateX(calc(100% + 18px));
  transition:transform .25s ease, box-shadow .25s ease;
  background:#fff;
  color:#222;
  border:1px solid #d9e2d2;
  border-right:0;
  border-radius:22px 0 0 22px;
  box-shadow:0 22px 60px rgba(0,0,0,.22);
  font-family:"Ancizar Sans", "Ancízar Sans", "Muli", "Segoe UI", Arial, sans-serif;
}

.accessibility-panel.is-open{
  transform:translateX(0);
}

.accessibility-panel__header{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:1rem;
  padding:1.15rem 1.15rem 1rem;
  background:linear-gradient(135deg,#203B7E,#2678BF);
  color:#fff;
  border-radius:20px 0 0 0;
}

.accessibility-panel__eyebrow{
  margin:0 0 .28rem;
  color:#d7ef89;
  text-transform:uppercase;
  letter-spacing:.06em;
  font-size:.76rem;
  font-weight:500;
}

.accessibility-panel h2{
  margin:0;
  font-size:1.25rem;
  line-height:1.2;
  font-weight:650;
}

.accessibility-panel__close{
  width:34px;
  height:34px;
  border:1px solid rgba(255,255,255,.55);
  border-radius:50%;
  background:rgba(255,255,255,.12);
  color:#fff;
  cursor:pointer;
  font-size:1.45rem;
  line-height:1;
}

.accessibility-panel__body{
  padding:1rem 1.15rem 1.2rem;
}

.accessibility-control-group{
  padding:.95rem 0;
  border-bottom:1px solid #e5eee9;
}

.accessibility-control-group h3{
  margin:0 0 .65rem;
  color:#073D49;
  font-size:1rem;
  line-height:1.25;
  font-weight:600;
}

.accessibility-actions{
  display:flex;
  flex-wrap:wrap;
  gap:.5rem;
}

.accessibility-actions--grid{
  display:grid;
  grid-template-columns:1fr;
}

.accessibility-panel button{
  font-family:inherit;
}

.accessibility-actions button,
.accessibility-reset{
  min-height:38px;
  border:1px solid #cddbd6;
  border-radius:999px;
  background:#f8fbf9;
  color:#073D49;
  padding:.45rem .8rem;
  cursor:pointer;
  font-size:.92rem;
  font-weight:500;
}

.accessibility-actions button:hover,
.accessibility-actions button:focus,
.accessibility-reset:hover,
.accessibility-reset:focus{
  border-color:#33B3BC;
  box-shadow:0 0 0 3px rgba(51,179,188,.18);
  outline:0;
}

.accessibility-actions button[aria-pressed="true"]{
  background:#203B7E;
  color:#fff;
  border-color:#203B7E;
}

.accessibility-current{
  margin:.65rem 0 0;
  color:#607077;
  font-size:.92rem;
}

.accessibility-reset{
  width:100%;
  margin-top:1rem;
  background:#94B43B;
  border-color:#94B43B;
  color:#10220c;
}

/* Estados globales de accesibilidad */
:root[data-theme="dark"] body{
  background:#0f171a;
  color:#f4f7f8;
}

:root[data-theme="dark"] .bases-main,
:root[data-theme="dark"] .bases-dashboard,
:root[data-theme="dark"] .bases-rectoria-hero{
  background:#0f171a;
  color:#f4f7f8;
}

:root[data-theme="dark"] .bases-resource-card,
:root[data-theme="dark"] .bases-filters,
:root[data-theme="dark"] .bases-quick-card,
:root[data-theme="dark"] .bases-logo-showcase,
:root[data-theme="dark"] .bases-rectoria-card,
:root[data-theme="dark"] .bases-searchbox,
:root[data-theme="dark"] .accessibility-panel{
  background:#172226;
  color:#f4f7f8;
  border-color:#2c474f;
}

:root[data-theme="dark"] .bases-description,
:root[data-theme="dark"] .bases-hero-copy,
:root[data-theme="dark"] .bases-meta,
:root[data-theme="dark"] .bases-breadcrumbs,
:root[data-theme="dark"] .bases-breadcrumbs a,
:root[data-theme="dark"] .accessibility-current{
  color:#cfdadc;
}

:root[data-theme="dark"] input,
:root[data-theme="dark"] select{
  background:#111a1d;
  color:#f4f7f8;
  border-color:#37545c;
}

:root.mode-1 body{
  filter:contrast(1.08);
}

:root.mode-2 body{
  filter:saturate(.82) contrast(1.12);
}

:root.mode-3 body{
  filter:contrast(1.28);
}

body.invert-contrast{
  filter:invert(1) hue-rotate(180deg);
}

body.invert-contrast img,
body.invert-contrast video,
body.invert-contrast iframe,
body.invert-contrast .bases-logo-showcase__track img,
body.invert-contrast .unal-seal img,
body.invert-contrast .footer-government-logos img,
body.invert-contrast .footer-brand-link img,
body.invert-contrast .bases-title-mark{
  filter:invert(1) hue-rotate(180deg);
}

@media (max-width:760px){
  .accessibility-panel{
    top:72px;
    max-height:calc(100vh - 86px);
  }
}

/* =========================================================
   Ajuste solicitado: armonización final con tono #677d29,
   retiro del hero informativo y tarjeta lateral sin franja superior.
   ========================================================= */
:root{
  --unal-green:#677d29;
  --unal-green-dark:#4f641d;
  --footer-green:#677d29;
  --bases-green:#677d29;
  --bases-green-dark:#4f641d;
  --bases-title-green:#677d29;
}

.bases-rectoria-hero{
  display:none !important;
}

.bases-main--powerpoint{
  background:linear-gradient(180deg,#ffffff 0%,#f7faf9 22%,#ffffff 100%);
}

.bases-breadcrumbs{
  padding-top:1.15rem;
  padding-bottom:.6rem;
}

.bases-title-lockup{
  background:linear-gradient(90deg,rgba(255,255,255,.92),rgba(250,252,248,.98));
}

.bases-title-lockup h1,
.bases-title-block h1{
  color:var(--bases-title-green) !important;
  font-family:"Ancizar Sans Extrabold", "Ancizar Sans", "Ancízar Sans", "Muli", "Segoe UI", Arial, sans-serif;
  font-weight:800;
}

.bases-title-mark{
  height:72px;
  max-width:184px;
  object-fit:contain;
  background:transparent !important;
  border-radius:0 !important;
  padding:0 !important;
}

.bases-title-block .bases-searchbox{
  border-color:var(--bases-title-green);
}

.bases-title-block .bases-searchbox button,
.bases-dashboard .bases-load-more,
.bases-load-more{
  background:var(--bases-title-green);
}

.bases-title-block .bases-searchbox button:hover,
.bases-title-block .bases-searchbox button:focus,
.bases-dashboard .bases-load-more:hover,
.bases-dashboard .bases-load-more:focus{
  background:var(--unal-blue);
}

.bases-quick-card--compact{
  border:1px solid #d6e3e8 !important;
  border-top:1px solid #d6e3e8 !important;
  border-radius:24px !important;
  overflow:hidden;
  background:#fbfdfc;
  box-shadow:0 14px 28px rgba(32,59,126,.10);
}

.bases-quick-card--compact::before{
  content:none !important;
  display:none !important;
}

.bases-quick-card--compact .bases-eyebrow{
  color:#a37a00;
}

.bases-quick-card--compact .bases-quick-links a{
  border-radius:16px;
}

.bases-quick-card--compact .bases-quick-links a:hover,
.bases-quick-card--compact .bases-quick-links a:focus{
  border-color:#33B3BC;
}

.bases-quick-card--compact .bases-quick-links span{
  background:#edf4df;
  color:var(--bases-title-green);
}

.bases-az-row .bases-az button,
.bases-az-arrow{
  border-color:var(--bases-title-green);
  color:var(--bases-title-green);
}

.bases-az-row .bases-az button.active,
.bases-az-row .bases-az button:hover,
.bases-az-row .bases-az button:focus{
  background:var(--bases-title-green);
  border-color:var(--bases-title-green);
  color:#fff;
}

.bases-dashboard .bases-tag[data-group="3"]{
  background:#eef3dd;
  color:var(--bases-title-green);
}

@media (max-width: 767px){
  .bases-title-mark{
    height:58px;
    max-width:150px;
  }
}

/* =========================================================
   Ajuste solicitado: uso del PNG original logo_unal_marca_verde.png
   sin deformar ni alterar la marca gráfica.
   ========================================================= */
.bases-title-lockup{
  width:min(760px,96%) !important;
  min-height:86px !important;
  height:auto !important;
  gap:.7rem !important;
  background:transparent !important;
  overflow:visible !important;
}

.bases-title-lockup h1,
.bases-title-block h1{
  color:#677d29 !important;
  font-family:"Ancizar Sans Extrabold", "Ancizar Sans", "Ancízar Sans", "Muli", "Segoe UI", Arial, sans-serif !important;
  font-weight:800 !important;
  line-height:1 !important;
  padding:0 !important;
  margin:0 !important;
}

.bases-title-mark{
  content:url('../img/logos/logo_unal_marca_verde.png');
  display:block !important;
  width:164px !important;
  height:auto !important;
  max-width:164px !important;
  max-height:76px !important;
  object-fit:contain !important;
  object-position:center center !important;
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  padding:0 !important;
  margin:0 !important;
  box-shadow:none !important;
}

@media (max-width: 900px){
  .bases-title-lockup{
    width:100% !important;
    justify-content:center !important;
  }
  .bases-title-lockup h1,
  .bases-title-block h1{
    font-size:clamp(1.75rem,7vw,2.65rem) !important;
  }
  .bases-title-mark{
    width:142px !important;
    max-width:142px !important;
    max-height:66px !important;
  }
}

@media (max-width: 620px){
  .bases-title-lockup{
    flex-direction:column !important;
    gap:.35rem !important;
    min-height:auto !important;
    margin-bottom:1rem !important;
  }
  .bases-title-lockup h1,
  .bases-title-block h1{
    white-space:normal !important;
    text-align:center !important;
  }
  .bases-title-mark{
    width:128px !important;
    max-width:128px !important;
    max-height:58px !important;
  }
}

/* =========================================================
   Mejora visual: indicador de acceso y microinteracciones modernas
   ========================================================= */
:root{
  --bases-access-open:#677d29;
  --bases-access-open-soft:#edf4df;
  --bases-access-subscription:#203B7E;
  --bases-access-subscription-soft:#e9efff;
  --bases-rainbow:conic-gradient(from 130deg,#203B7E,#2678BF,#33B3BC,#94B43B,#F8C21C,#E15E42,#DC313A,#203B7E);
}

.bases-dashboard .bases-resource-card,
.bases-resource-card{
  position:relative;
  isolation:isolate;
  border-radius:25px !important;
  overflow:hidden;
  transform:translateZ(0);
  transition:transform .28s cubic-bezier(.2,.8,.2,1), box-shadow .28s ease, border-color .28s ease, background .28s ease;
}

.bases-dashboard .bases-resource-card::before,
.bases-resource-card::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  padding:2px;
  border-radius:inherit;
  background:var(--bases-rainbow);
  opacity:0;
  transition:opacity .28s ease;
  -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
  mask-composite:exclude;
  pointer-events:none;
}

.bases-dashboard .bases-resource-card::after,
.bases-resource-card::after{
  content:"";
  position:absolute;
  inset:auto 12% -28px 12%;
  height:60px;
  border-radius:999px;
  background:radial-gradient(ellipse at center, rgba(51,179,188,.28), rgba(148,180,59,.12) 45%, transparent 72%);
  opacity:0;
  filter:blur(10px);
  transition:opacity .28s ease, transform .28s ease;
  pointer-events:none;
}

.bases-dashboard .bases-resource-card:hover,
.bases-dashboard .bases-resource-card:focus-within,
.bases-resource-card:hover,
.bases-resource-card:focus-within{
  transform:translateY(-6px) scale(1.012);
  border-color:rgba(51,179,188,.5) !important;
  box-shadow:0 18px 42px rgba(0,63,73,.16), 0 0 0 1px rgba(255,255,255,.9) inset;
}

.bases-dashboard .bases-resource-card:hover::before,
.bases-dashboard .bases-resource-card:focus-within::before,
.bases-resource-card:hover::before,
.bases-resource-card:focus-within::before{
  opacity:1;
  animation:basesRainbowSpin 2.8s linear infinite;
}

.bases-dashboard .bases-resource-card:hover::after,
.bases-dashboard .bases-resource-card:focus-within::after,
.bases-resource-card:hover::after,
.bases-resource-card:focus-within::after{
  opacity:1;
  transform:translateY(-8px);
}

@keyframes basesRainbowSpin{
  to{ filter:hue-rotate(360deg); }
}

.bases-dashboard .bases-resource-title-row,
.bases-resource-title-row{
  grid-template-columns:76px minmax(0,1fr) !important;
  gap:1rem !important;
}

.bases-resource-media{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:.68rem;
  min-width:0;
}

.bases-access-badge{
  width:62px;
  min-height:92px;
  border-radius:999px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:.35rem;
  border:1.5px solid transparent;
  box-shadow:0 8px 18px rgba(0,63,73,.10), inset 0 1px 0 rgba(255,255,255,.82);
  transition:transform .25s ease, box-shadow .25s ease, background .25s ease, border-color .25s ease;
}

.bases-access-badge svg{
  width:25px;
  height:25px;
  fill:none;
  stroke:currentColor;
  stroke-width:2.15;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.bases-access-badge span{
  max-width:50px;
  font-size:.62rem;
  line-height:1.05;
  text-align:center;
  letter-spacing:.02em;
  font-weight:700;
}

.bases-access-badge--open{
  background:linear-gradient(180deg,#f5faef,#e6f1d3);
  color:var(--bases-access-open);
  border-color:rgba(103,125,41,.28);
}

.bases-access-badge--subscription{
  background:linear-gradient(180deg,#f2f6ff,#e1e9ff);
  color:var(--bases-access-subscription);
  border-color:rgba(32,59,126,.24);
}

.bases-access-badge--unknown{
  background:linear-gradient(180deg,#f8faf9,#eef4f0);
  color:#004653;
  border-color:#d8e6de;
}

.bases-dashboard .bases-resource-card:hover .bases-access-badge,
.bases-resource-card:hover .bases-access-badge,
.bases-dashboard .bases-resource-card:focus-within .bases-access-badge,
.bases-resource-card:focus-within .bases-access-badge{
  transform:translateY(-2px) scale(1.04);
  box-shadow:0 12px 22px rgba(0,63,73,.14), inset 0 1px 0 rgba(255,255,255,.9);
}

.bases-dashboard .bases-resource-card:hover .bases-resource-icon,
.bases-dashboard .bases-resource-card:focus-within .bases-resource-icon,
.bases-resource-card:hover .bases-resource-icon,
.bases-resource-card:focus-within .bases-resource-icon{
  transform:scale(1.05);
}

.bases-resource-icon{
  transition:transform .25s ease, box-shadow .25s ease;
}

.bases-dashboard .bases-description{
  margin-top:1.05rem !important;
  font-weight:500 !important;
}

.bases-tag,
.bases-dashboard .bases-tag{
  font-weight:650 !important;
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease;
}

.bases-tag:hover,
.bases-dashboard .bases-tag:hover{
  transform:translateY(-1px);
  box-shadow:0 5px 10px rgba(0,63,73,.08);
}

.bases-btn,
.bases-view-actions button,
.bases-clear,
.bases-load-more,
.bases-az button,
.bases-az-arrow,
.bases-quick-links a,
.bases-field select,
.bases-searchbox,
.unal-nav a,
.unal-header button,
.footer-institutional a{
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease, background .2s ease, color .2s ease, opacity .2s ease;
}

.bases-btn:hover,
.bases-btn:focus-visible,
.bases-view-actions button:hover,
.bases-view-actions button:focus-visible,
.bases-clear:hover,
.bases-clear:focus-visible,
.bases-load-more:hover,
.bases-load-more:focus-visible{
  transform:translateY(-2px);
  box-shadow:0 10px 24px rgba(0,63,73,.14);
}

.bases-quick-links a:hover,
.bases-quick-links a:focus-visible{
  transform:translateX(3px) scale(1.01);
  border-color:#33B3BC !important;
  box-shadow:0 12px 26px rgba(0,63,73,.12);
  text-decoration:none;
}

.bases-searchbox:hover,
.bases-searchbox:focus-within,
.bases-field select:hover,
.bases-field select:focus,
.bases-az button:hover,
.bases-az button:focus-visible,
.bases-az-arrow:hover:not(:disabled),
.bases-az-arrow:focus-visible:not(:disabled){
  border-color:#33B3BC !important;
  box-shadow:0 0 0 4px rgba(51,179,188,.13), 0 8px 18px rgba(0,63,73,.08);
}

.bases-az button:hover,
.bases-az button:focus-visible,
.bases-az button.active{
  transform:translateY(-1px) scale(1.04);
}

.unal-nav a:hover,
.unal-nav a:focus-visible,
.unal-header button:hover,
.unal-header button:focus-visible,
.footer-institutional a:hover,
.footer-institutional a:focus-visible{
  opacity:.92;
  transform:translateY(-1px);
}

.bases-resources.list .bases-resource-card__body,
.bases-dashboard .bases-resources.list .bases-resource-card__body{
  display:grid !important;
  grid-template-columns:minmax(320px,.9fr) minmax(0,1.1fr) !important;
  gap:1.2rem !important;
  align-items:start !important;
  padding:1.15rem 1.25rem !important;
}

.bases-resources.list .bases-resource-title-row,
.bases-dashboard .bases-resources.list .bases-resource-title-row{
  display:grid !important;
  grid-template-columns:98px minmax(0,1fr) !important;
  gap:1rem !important;
  align-items:start !important;
}

.bases-resources.list .bases-resource-media,
.bases-dashboard .bases-resources.list .bases-resource-media{
  gap:.45rem;
}

.bases-resources.list .bases-access-badge,
.bases-dashboard .bases-resources.list .bases-access-badge{
  width:76px;
  min-height:38px;
  flex-direction:row;
  border-radius:999px;
  padding:0 .55rem;
}

.bases-resources.list .bases-access-badge svg,
.bases-dashboard .bases-resources.list .bases-access-badge svg{
  width:19px;
  height:19px;
}

.bases-resources.list .bases-access-badge span,
.bases-dashboard .bases-resources.list .bases-access-badge span{
  max-width:46px;
  font-size:.58rem;
}

.bases-resources.list .bases-description,
.bases-dashboard .bases-resources.list .bases-description{
  margin:0 !important;
  -webkit-line-clamp:3 !important;
}

@media (max-width: 980px){
  .bases-resources.list .bases-resource-card__body,
  .bases-dashboard .bases-resources.list .bases-resource-card__body{
    grid-template-columns:1fr !important;
  }
}

@media (max-width: 520px){
  .bases-dashboard .bases-resource-title-row,
  .bases-resource-title-row{
    grid-template-columns:1fr !important;
  }
  .bases-resource-media{
    flex-direction:row;
    justify-content:flex-start;
  }
  .bases-access-badge{
    width:auto;
    min-height:40px;
    flex-direction:row;
    padding:0 .75rem;
  }
}

/* Garantiza que el borde animado quede visible sobre la tarjeta sin tapar el contenido. */
.bases-dashboard .bases-resource-card::before,
.bases-resource-card::before{
  z-index:3;
}
.bases-dashboard .bases-resource-card::after,
.bases-resource-card::after{
  z-index:0;
}
.bases-dashboard .bases-resource-card__body,
.bases-dashboard .bases-resource-card__footer,
.bases-resource-card__body,
.bases-resource-card__footer{
  position:relative;
  z-index:1;
}

/* Mejoras del lector de navegación accesible */
.accessibility-help{
  margin: 0 0 .85rem;
  color: var(--bases-muted, #5d6b6d);
  font-size: .88rem;
  line-height: 1.45;
}

.focus-reader-enabled :focus-visible{
  outline: 3px solid #f8c21c;
  outline-offset: 4px;
  box-shadow: 0 0 0 6px rgba(148,180,59,.22), 0 0 26px rgba(38,120,191,.16);
}

.focus-reader-enabled .bases-resource-card:focus-visible{
  border-color: #33b3bc;
  transform: translateY(-2px) scale(1.01);
}

.using-mouse :focus:not(:focus-visible){
  outline: none;
}

/* =========================================================
   Ajuste de alineación solicitado: elimina el espacio visual
   del breadcrumb y alinea filtros, contenido y ecosistema.
   ========================================================= */
.bases-main--powerpoint .bases-breadcrumbs{
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  padding:0 !important;
  margin:-1px !important;
  overflow:hidden !important;
  clip:rect(0 0 0 0) !important;
  clip-path:inset(50%) !important;
  white-space:nowrap !important;
  border:0 !important;
}

.bases-main--powerpoint .bases-dashboard{
  padding-top:1.15rem !important;
  align-items:start !important;
}

.bases-dashboard .bases-filters,
.bases-dashboard .bases-right-rail{
  margin-top:0 !important;
}

.bases-dashboard .bases-filters{
  top:148px !important;
  border-radius:24px !important;
  min-height:auto !important;
  align-self:start !important;
}

.bases-right-rail{
  top:148px !important;
  align-self:start !important;
}

.bases-title-block{
  padding-top:0 !important;
}

.bases-title-lockup{
  margin-top:0 !important;
}

.bases-quick-card--compact{
  margin-top:0 !important;
}

@media (max-width: 1180px){
  .bases-main--powerpoint .bases-dashboard{
    padding-top:.9rem !important;
  }
}


/* =========================================================
   AJUSTE FOOTER RECTORÍA / SINAB - imagen institucional
   ========================================================= */
.unal-footer{
  background-color:#1c2527;
  background-image:
    linear-gradient(rgba(18,26,28,.84), rgba(18,26,28,.84)),
    url("../img/backgrounds/footer_background_3x_f88d564411_modified_11zon_no_compress_11zon_1f95134861.webp");
  background-size:cover;
  background-position:center top;
  background-repeat:no-repeat;
  overflow:hidden;
}

.unal-footer__links,
.unal-footer__social{
  background:transparent !important;
  background-image:none !important;
}

.unal-footer__links{
  border-top-left-radius:44px;
  border-top:5px solid #003b46;
}

.unal-footer__social{
  border-top:1px solid rgba(215,239,137,.65);
}

.footer-brand-link--somos{
  border:0 !important;
  border-radius:0 !important;
  padding:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}

.footer-brand-link--somos img{
  height:26px;
  display:block;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}

.footer-brand-link:hover,
.footer-brand-link:focus{
  transform:translateY(-1px);
}

.unal-footer__links a:hover,
.unal-footer__links a:focus,
.footer-secondary-links a:hover,
.footer-secondary-links a:focus{
  color:#ffffff;
  text-decoration-thickness:2px;
}

/* =========================================================
   AJUSTE FOOTER RECTORÍA - línea interna y verde institucional
   ========================================================= */
:root{
  --footer-green:#677d29;
  --footer-rule-green:#677d29;
}

.unal-footer__legal{
  background:#677d29 !important;
}

.unal-footer__social{
  position:relative;
  border-top:0 !important;
}

.unal-footer__social::before{
  content:"";
  position:absolute;
  top:0;
  left:50%;
  transform:translateX(-50%);
  width:min(calc(100% - 64px), var(--max-width));
  height:1px;
  background:#677d29;
  opacity:.95;
  pointer-events:none;
}

@media (max-width: 767px){
  .unal-footer__social::before{
    width:calc(100% - 32px);
  }
}

/* =========================================================
   AJUSTE 2026-05-22 - FOOTER: curva superior y eliminación de franja
   =========================================================
   La franja inferior de redes no debe generar una línea adicional antes
   del pie de página institucional. La curva superior del footer se deja
   visible sobre el fondo blanco, como en la plantilla institucional.
*/
.quick-social{
  border-bottom:0 !important;
  margin-bottom:0 !important;
  box-shadow:none !important;
}

.unal-footer{
  background:transparent !important;
  background-image:none !important;
  overflow:visible !important;
  margin-top:0 !important;
  border-top-left-radius:72px;
}

.unal-footer__links{
  position:relative;
  overflow:hidden;
  border-top:0 !important;
  border-top-left-radius:72px !important;
  background-image:
    linear-gradient(rgba(18,26,28,.84), rgba(18,26,28,.84)),
    url("../img/backgrounds/footer_background_3x_f88d564411_modified_11zon_no_compress_11zon_1f95134861.webp") !important;
  background-size:cover !important;
  background-position:center top !important;
  background-repeat:no-repeat !important;
}

.unal-footer__social{
  background-image:
    linear-gradient(rgba(18,26,28,.84), rgba(18,26,28,.84)),
    url("../img/backgrounds/footer_background_3x_f88d564411_modified_11zon_no_compress_11zon_1f95134861.webp") !important;
  background-size:cover !important;
  background-position:center center !important;
  background-repeat:no-repeat !important;
  border-top:0 !important;
}

.unal-footer__social::before{
  top:0 !important;
  height:1px !important;
  background:#677d29 !important;
  opacity:.85 !important;
}

.unal-footer__legal{
  margin-top:0 !important;
}

/* =========================================================
   AJUSTE 2026-05-22 - CABEZOTE Y FOOTER SEGÚN PLANTILLA LUNA
   =========================================================
   1. El footer se integra con la franja verde de redes sin dejar
      recortes blancos en la curva superior izquierda.
   2. El escudo institucional recupera mayor presencia vertical.
   3. La zona derecha del cabezote se aproxima al modelo LUNA:
      separadores, cheurones y proporción visual más marcada.
*/

:root{
  --unal-header-green:#5f7f1f;
  --unal-header-dark:#303434;
  --footer-green:#5f7f1f;
}

/* Cabezote: escudo con proporción más cercana al modelo institucional */
.unal-seal{
  width:138px !important;
  height:154px !important;
  border-radius:0 0 72px 72px !important;
  top:0 !important;
  left:0 !important;
  box-shadow:0 10px 24px rgba(0,0,0,.24) !important;
  background:#fff !important;
  overflow:hidden !important;
}

.unal-seal img{
  width:112px !important;
  height:112px !important;
  object-fit:contain !important;
}

.unal-header__brand,
.unal-breadcrumb{
  margin-left:calc(var(--header-offset) + 16px) !important;
}

.unal-header__brand .unal-seal{
  margin-left:0 !important;
}

/* Zona derecha del cabezote: separadores y lectura visual tipo LUNA */
.unal-nav__secondary{
  gap:0 !important;
  min-height:58px;
  align-self:stretch;
}

.unal-nav__secondary > a,
.unal-nav__secondary > button{
  min-height:58px;
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  padding:0 16px !important;
  border-left:1px solid rgba(255,255,255,.24) !important;
  color:#fff !important;
  text-decoration:none !important;
}

.unal-nav__secondary > a:last-child,
.unal-nav__secondary > button:last-child{
  border-right:1px solid rgba(255,255,255,.24) !important;
}

.unal-nav__secondary .community-link::after,
.unal-nav__secondary a[lang="es"]::after,
.unal-header__top-actions .sedes-toggle::after,
.unal-header__top-actions a[href*="sedes"]::after{
  content:"";
  width:8px;
  height:8px;
  border-right:2px solid currentColor;
  border-bottom:2px solid currentColor;
  transform:rotate(45deg) translateY(-2px);
  margin-left:9px;
  opacity:.95;
}

.search-trigger .search-icon{
  width:25px !important;
  height:25px !important;
  border-width:3px !important;
}

.search-trigger .search-icon::after{
  width:12px !important;
  right:-10px !important;
  bottom:-5px !important;
}

.accessibility-link,
.unal-nav__secondary .accessibility-link{
  font-size:1.55rem !important;
  line-height:1 !important;
}

/* Franja de redes conectada al footer */
.quick-social{
  background:#5f7f1f !important;
  border-top:0 !important;
  border-bottom:0 !important;
  margin-bottom:0 !important;
  box-shadow:none !important;
}

.quick-social a{
  background:rgba(255,255,255,.035);
  border-left:1px solid rgba(255,255,255,.08);
  border-right:1px solid rgba(0,0,0,.08);
}

.quick-social a:hover,
.quick-social a:focus{
  background:rgba(0,0,0,.12) !important;
}

/* Footer: la curva revela verde, no blanco */
.unal-footer{
  background:#5f7f1f !important;
  background-color:#5f7f1f !important;
  background-image:none !important;
  overflow:visible !important;
  margin-top:0 !important;
  padding-top:0 !important;
  border-top:0 !important;
}

.unal-footer__links{
  position:relative !important;
  overflow:hidden !important;
  margin-top:0 !important;
  border-top:0 !important;
  border-top-left-radius:88px !important;
  background-color:#182326 !important;
  background-image:
    linear-gradient(rgba(18,26,28,.82), rgba(18,26,28,.82)),
    url("../img/backgrounds/footer_background_3x_f88d564411_modified_11zon_no_compress_11zon_1f95134861.webp") !important;
  background-size:cover !important;
  background-position:center top !important;
  background-repeat:no-repeat !important;
}

/* Rellena específicamente el área de la esquina curva para impedir el recorte blanco */
.unal-footer__links::after{
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:92px;
  height:92px;
  background:#5f7f1f;
  z-index:0;
  pointer-events:none;
}

.unal-footer__links::before{
  content:"";
  position:absolute;
  inset:0;
  border-top-left-radius:88px;
  background:
    linear-gradient(rgba(18,26,28,.82), rgba(18,26,28,.82)),
    url("../img/backgrounds/footer_background_3x_f88d564411_modified_11zon_no_compress_11zon_1f95134861.webp") center top/cover no-repeat;
  z-index:1;
  pointer-events:none;
}

.unal-footer__links > *,
.unal-footer__social > *,
.unal-footer__legal > *{
  position:relative;
  z-index:2;
}

.unal-footer__social{
  margin-top:0 !important;
  border-top:0 !important;
  background-color:#182326 !important;
  background-image:
    linear-gradient(rgba(18,26,28,.82), rgba(18,26,28,.82)),
    url("../img/backgrounds/footer_background_3x_f88d564411_modified_11zon_no_compress_11zon_1f95134861.webp") !important;
  background-size:cover !important;
  background-position:center center !important;
  background-repeat:no-repeat !important;
}

.unal-footer__social::before{
  top:0 !important;
  height:1px !important;
  background:#5f7f1f !important;
  opacity:.95 !important;
}

.unal-footer__legal{
  background:#5f7f1f !important;
  margin-top:0 !important;
}

@media (max-width: 960px){
  .unal-seal{
    width:116px !important;
    height:132px !important;
    border-radius:0 0 60px 60px !important;
  }
  .unal-seal img{
    width:94px !important;
    height:94px !important;
  }
  .unal-header__brand,
  .unal-breadcrumb{
    margin-left:128px !important;
  }
}

/* =========================================================
   CORRECCIÓN 2026-05-22 - RESTAURAR CABEZOTE Y UNIFICAR FOOTER
   =========================================================
   Se corrige el ajuste anterior que aumentó el escudo y generó
   montaje sobre los menús. También se elimina la línea de tono
   diferente entre redes/footer y se mantiene la curva con relleno verde.
*/

:root{
  --unal-header-green:#5f7f1f;
  --footer-green:#5f7f1f;
}

/* Cabezote: volver a proporción estable para que no invada menús */
.unal-seal{
  width:118px !important;
  height:132px !important;
  border-radius:0 0 58px 58px !important;
  top:0 !important;
  left:0 !important;
  box-shadow:0 8px 20px rgba(0,0,0,.28) !important;
  background:#fff !important;
  overflow:hidden !important;
}

.unal-seal img{
  width:96px !important;
  height:96px !important;
  object-fit:contain !important;
}

.unal-header__brand,
.unal-breadcrumb{
  margin-left:var(--header-offset) !important;
}

.unal-header__brand .unal-seal{
  margin-left:0 !important;
}

.unal-nav{
  min-height:58px !important;
  padding-left:max(1rem,calc((100vw - var(--max-width))/2 + var(--header-offset))) !important;
  padding-right:max(1rem,calc((100vw - var(--max-width))/2)) !important;
  background:var(--unal-header-green) !important;
}

.unal-nav__primary{
  gap:1.9rem !important;
}

.unal-nav__secondary{
  gap:1.15rem !important;
  min-height:auto !important;
  align-self:center !important;
}

.unal-nav__secondary > a,
.unal-nav__secondary > button{
  min-height:auto !important;
  padding:.25rem !important;
  border-left:0 !important;
  border-right:0 !important;
  color:#fff !important;
}

.unal-nav__secondary > a:last-child,
.unal-nav__secondary > button:last-child{
  border-right:0 !important;
}

.unal-nav__secondary .community-link::after,
.unal-nav__secondary a[lang="es"]::after,
.unal-header__top-actions .sedes-toggle::after,
.unal-header__top-actions a[href*="sedes"]::after{
  content:none !important;
}

.search-trigger .search-icon{
  width:20px !important;
  height:20px !important;
  border-width:3px !important;
}

.search-trigger .search-icon::after{
  width:9px !important;
  right:-8px !important;
  bottom:-4px !important;
}

.accessibility-link,
.unal-nav__secondary .accessibility-link{
  font-size:1.35rem !important;
}

/* Footer: redes y pie de página como un solo bloque sin franja extra */
.quick-social{
  background:#5f7f1f !important;
  border-top:0 !important;
  border-bottom:0 !important;
  margin-bottom:0 !important;
  box-shadow:none !important;
}

.unal-footer{
  background:#5f7f1f !important;
  background-color:#5f7f1f !important;
  background-image:none !important;
  margin-top:0 !important;
  padding-top:0 !important;
  border-top:0 !important;
  overflow:visible !important;
}

.unal-footer__links{
  position:relative !important;
  margin-top:0 !important;
  border-top:0 !important;
  border-top-left-radius:72px !important;
  overflow:hidden !important;
  background-color:#182326 !important;
  background-image:
    linear-gradient(rgba(18,26,28,.84), rgba(18,26,28,.84)),
    url("../img/backgrounds/footer_background_3x_f88d564411_modified_11zon_no_compress_11zon_1f95134861.webp") !important;
  background-size:cover !important;
  background-position:center top !important;
  background-repeat:no-repeat !important;
}

/* El verde de .unal-footer queda visible en la esquina curva; no debe aparecer blanco. */
.unal-footer__links::after{
  content:none !important;
}

.unal-footer__links::before{
  content:none !important;
}

.unal-footer__social{
  margin-top:0 !important;
  border-top:0 !important;
  background-color:#182326 !important;
  background-image:
    linear-gradient(rgba(18,26,28,.84), rgba(18,26,28,.84)),
    url("../img/backgrounds/footer_background_3x_f88d564411_modified_11zon_no_compress_11zon_1f95134861.webp") !important;
  background-size:cover !important;
  background-position:center center !important;
  background-repeat:no-repeat !important;
}

.unal-footer__social::before{
  content:none !important;
  display:none !important;
}

.unal-footer__legal{
  background:#5f7f1f !important;
  margin-top:0 !important;
}

@media (max-width: 960px){
  .unal-seal{
    width:116px !important;
    height:132px !important;
    border-radius:0 0 60px 60px !important;
  }
  .unal-seal img{
    width:94px !important;
    height:94px !important;
  }
  .unal-header__brand,
  .unal-breadcrumb{
    margin-left:128px !important;
  }
}

/* =========================================================
   CORRECCIÓN 2026-05-22 - ESCUDO 135px Y DESPLAZAMIENTO DE MENÚS
   =========================================================
   El escudo conserva presencia institucional sin cubrir los enlaces
   de la barra verde ni la navegación secundaria. Los menús se desplazan
   a la derecha únicamente lo necesario para liberar el área del escudo.
*/
:root{
  --header-offset:190px;
}

.unal-seal{
  width:135px !important;
  height:135px !important;
  border-radius:0 0 67px 67px !important;
  top:0 !important;
  left:0 !important;
  background:#fff !important;
  overflow:hidden !important;
  box-shadow:0 8px 20px rgba(0,0,0,.24) !important;
}

.unal-seal img{
  width:105px !important;
  height:105px !important;
  object-fit:contain !important;
}

.unal-header__brand{
  margin-left:0 !important;
}

.unal-breadcrumb{
  margin-left:150px !important;
}

.unal-nav{
  padding-left:max(1rem,calc((100vw - var(--max-width))/2 + 190px)) !important;
}

.site-menu{
  padding-left:max(1rem,calc((100vw - var(--max-width))/2 + 190px)) !important;
}

/* Mantiene el footer unido y sin líneas de tonalidad distinta. */
.quick-social,
.unal-footer,
.unal-footer__links,
.unal-footer__social,
.unal-footer__legal{
  border-top:0 !important;
}

.unal-footer__links,
.unal-footer__social{
  box-shadow:none !important;
}

@media (max-width:960px){
  :root{
    --header-offset:150px;
  }
  .unal-seal{
    width:116px !important;
    height:128px !important;
    border-radius:0 0 58px 58px !important;
  }
  .unal-seal img{
    width:92px !important;
    height:92px !important;
  }
  .unal-breadcrumb{
    margin-left:130px !important;
  }
  .unal-nav,
  .site-menu{
    padding-left:max(1rem,calc((100vw - var(--max-width))/2 + 150px)) !important;
  }
}

/* =========================================================
   AJUSTE 2026-05-22 - ESCUDO SEGÚN REFERENCIA LUNA / WEB UNAL
   =========================================================
   Ajuste basado en la estructura del escudo del sitio institucional:
   contenedor blanco, borde inferior semicircular, sombra institucional
   y compensación de menús para evitar montaje sobre los enlaces.
*/
:root{
  --unal-seal-size:135px;
  --unal-seal-menu-offset:230px;
}

.unal-header{
  overflow:visible !important;
}

.unal-header__top,
.unal-nav,
.site-menu{
  overflow:visible !important;
}

.unal-header__brand{
  min-height:50px !important;
  margin-left:0 !important;
  position:relative !important;
}

.unal-seal{
  background-color:#fff !important;
  border-radius:0 0 50% 50% !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  font-size:0 !important;
  line-height:0 !important;
  padding-top:0 !important;
  position:absolute !important;
  top:0 !important;
  left:0 !important;
  width:var(--unal-seal-size) !important;
  height:var(--unal-seal-size) !important;
  z-index:10 !important;
  box-shadow:rgba(0,0,0,.30) 0 2px 3px 0,
             rgba(0,0,0,.15) 0 6px 10px 4px !important;
  overflow:hidden !important;
  transition:width .1s ease-in !important;
}

.unal-seal img{
  width:108px !important;
  height:108px !important;
  max-width:82% !important;
  max-height:82% !important;
  object-fit:contain !important;
  display:block !important;
}

.unal-breadcrumb{
  margin-left:calc(var(--unal-seal-size) + 18px) !important;
}

/* Compensación específica de la barra verde y del menú blanco:
   evita que el escudo cubra Calendario académico, Inicio o Sedes. */
.unal-nav,
.site-menu{
  padding-left:max(var(--unal-seal-menu-offset), calc((100vw - var(--max-width))/2 + var(--unal-seal-size) + 42px)) !important;
}

.unal-nav__primary{
  padding-left:0 !important;
}

.site-menu{
  justify-content:flex-start !important;
  gap:3.2rem !important;
}

@media (max-width:960px){
  :root{
    --unal-seal-size:116px;
    --unal-seal-menu-offset:165px;
  }

  .unal-seal img{
    width:92px !important;
    height:92px !important;
  }

  .unal-breadcrumb{
    margin-left:calc(var(--unal-seal-size) + 14px) !important;
  }

  .unal-nav,
  .site-menu{
    padding-left:max(var(--unal-seal-menu-offset), 1rem) !important;
  }
}

@media (max-width:720px){
  :root{
    --unal-seal-size:88px;
    --unal-seal-menu-offset:1rem;
  }

  .unal-seal{
    width:var(--unal-seal-size) !important;
    height:var(--unal-seal-size) !important;
  }

  .unal-seal img{
    width:68px !important;
    height:68px !important;
  }

  .unal-breadcrumb{
    margin-left:calc(var(--unal-seal-size) + 10px) !important;
  }
}
