/*ESTILOS PLANTILLA PRINCIPAL*/ 
@import url('https://fonts.googleapis.com/css2?family=Dancing+Script:wght@400..700&family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=Lilita+One&family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&family=Roboto:ital,wght@0,100..900;1,100..900&display=swap');

:root {
    --udec-green: #006747;
    --udec-green-dark: #004d35;
    --udec-green-light: #f0f7f4;
    --text-success: #267042;
    --bg-blue: #063D61;
    --accent-teal: #22c55e;
    --slate-900: #0f172a;
    --slate-600: #475569;
    --glass-bg: rgba(255, 255, 255, 0.85);
}
.titulo-seccion {
    margin-top: 0 !important;
    padding-top: 40px;
    padding-bottom: 40px
}
.text-bg-primary {
    background-color: var(--bg-blue) !important
}
body .navbar-expand-xl .navbar-collapse {
    margin: 0 auto !important
}
.search-space {
    width: 200px;
    margin-left: 15px !important;
}

* {
    font-family: 'Inter', system-ui, -apple-system, sans-serif !important;
    font-weight: 300;
    line-height: 1.5;
}
.fw-normal {
    font-weight: 300 !important;
}
b, strong,
.fw-semibold {
    font-weight: 500 !important;
}
[style="color:#000000"] {
    color: currentColor !important;
}
.text-success-ud {
    color: var(--text-success) !important;
}
.bg-success-subtle {
    background-color: #DCFCE7 !important;
}
h1, .h1, h2, .h2 {
    color: var(--bs-dark);
}
 #navbar {
    background-color: #ffffff !important
 }
 .bg-footer {
     background-color: transparent
 }
 header header {
     width: 100%;
 }
 #navbar > nav {
     padding: 0 !important;
 }
 #navbar > nav > .container {
	max-width: 100%;
    padding: 0 !important;
}
.dropdown-menu.shadow.border-0.py-0.start-0.w-100 {
    top: 100% !important;
}
/* Multi-item carousel: cada "item" ocupa 1/3 para mostrar 3 a la vez */
#newsRelacionados {height: auto!important;}
  #relacionadosCarousel .carousel-inner {
    display: flex;
  }

  #relacionadosCarousel .carousel-item {
    display: block;
    flex: 0 0 calc(100% / 3);
    padding: 0 10px;
  }

  /* 2 visibles */
  @media (max-width: 991.98px) {
    #relacionadosCarousel .carousel-item {
      flex: 0 0 calc(100% / 2);
    }
  }

  /* 1 visible */
  @media (max-width: 575.98px) {
    #relacionadosCarousel .carousel-item {
      flex: 0 0 100%;
    }
  }

  .rel-card-img {
    height: 150px;
    object-fit: cover;
  }
#cuerpo {
    padding: 0;
    width: 100%;
    max-width: 100%;
}
#cuerpo > .contenido {
    margin: 0 !important
}
#centro {
    padding: 0 !important;
}
.vanta-canvas {
    width: 100% !important;
    height: 100vh !important
}
.bg-light {
   background-color: #F4F6FE !important;
}

#navbar.top-menu .top-menu{
    background-color: #fff !important;
}
.navbar-expand-xl .navbar-nav .nav-link {
    font-weight: 800 !important
}
/*.navbar-expand-xl .navbar-nav .nav-link {*/
/*    text-align: left !important;*/
/*}*/
/* #navbar .top-menu .navbar-brand-logo */
.container>.navbar-toggler {
    display: none;
}
/*#navbar .top-menu .navbar-brand-logo.d-none {*/
/*    display: block !important;*/
/*}*/

.cover { aspect-ratio: 16/9; object-fit: cover; }
.line-clamp-3{
    display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical;
    overflow:hidden;
}
.author-chip img { width:32px; height:32px; object-fit:cover; }


@media (max-width: 1201px) {
    .navbar-nav {
        margin: 0 !important;
        display: inline-block;
        width: 100%; 
    }
    #banner-home {
        margin: 0 !important;
    }
    #tbuscador,
    .search-space {
        width: 100%;
    }
    #tbuscador .input-group {
        margin-top: 15px;
        margin-bottom: 25px;
    }
}

 
/*ESTILOS PLANTILLA UNIVERSIDAD DIGITAL*/
#banner-home{
    margin-top:-68px
}

.udec-slider {
    overflow: hidden;
}
.udec-slider .slick-slide{
    padding:12px;
    transition:transform .35s ease,opacity .35s ease;
    border-radius: 16px;
    overflow: hidden;
}
.udec-slider .slick-list{
    overflow:visible
}
.udec-slider .card {
    border: 0;
    border-radius: 16px;
    overflow: hidden;
    height: 100%;
    background: #fff;
    transition: transform .35s ease, box-shadow .35s ease, opacity .35s ease;
}
.udec-slider .card-img-top{
    height:180px;
    object-fit:cover;
    padding: 15px !important;
    border-radius: 24px;
    overflow: hidden;
}
.udec-slider .slick-slide .card {
    transform: scale(.92);
    opacity: .85;
}
.udec-slider .slick-center .card {
    position: relative;
    z-index: 5;
    transform: scale(1.10);
    opacity: 1;
    box-shadow: 0 .8rem 2rem rgba(0,0,0,.25);
}
.udec-slider .card-title{
    font-weight:700;
    font-size:1.05rem
}
.udec-slider .card-text{
    color:#5b5b5b
}
.udec-slider .slick-prev:before,.udec-slider .slick-next:before{
    color:#fff;
    font-size:28px
}
.udec-slider a {
    text-align: center;
}
.bg-rocket {
    background-repeat: no-repeat;
    background-position: right bottom;
    padding-bottom: 50vh !important;
}

.footer-section {
    background-color: #6A9D56;
}
.footer-section * {
    color: #fff;
}

.news-slider {
    overflow: hidden;
}
.news-slider .slick-list{ overflow: visible; }
.news-slider .slick-slide{ padding: 10px; }

.news-card{
    background:#fff;
    border:0;
    border-radius:18px;
    box-shadow: var(--bs-box-shadow) !important;
    overflow:hidden;
    height:100%;
    display:flex; flex-direction:column;
}
.news-media{
    aspect-ratio: 16/9;
    width:100%;
    object-fit:cover;
}
.news-body{ padding:18px; position:relative; flex:1; }
.news-title{
    font-size:1.05rem; font-weight:700; color:#1d1d1f; margin:0 0 .25rem 0;
}
.news-date{ color:#8a8a8a; font-size:.95rem;margin-top: 30px; }
.news-cta{
    position:absolute; right:18px; bottom:18px;
    width:44px; height:44px; border-radius:999px;
    display:inline-grid; place-items:center;
    color:#444; text-decoration:none;
    border: 1px solid #444;
    transition: all .2s ease-in-out;
}
.news-cta:hover{ 
    transform: translateY(-1px); 
    box-shadow:0 10px 22px rgba(227,85,127,.45);
    border: 1px solid transparent;
    background: radial-gradient(120% 120% at 30% 30%, #f58da5, #e3557f 70%); 
    color:#fff; text-decoration:none;
}
.news-slider .slick-prev:before,.news-slider .slick-next:before{ color:#fff; }

.slick-slide img {
    display: block;
    width: 100% !important;
    height: auto !important;
}

.card-feature {
    margin-top: 40px;
}
.icon-badge-fill,
.icon-badge-color,
.icon-badge {
    width: 75px;
    height: 79px;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: -64px;
    border-radius: 18px 30px;
}

.icon-badge-color,
.icon-badge-fill {
    margin-top: 0;
}
.icon-badge-fill {
    border-radius: 50%;
}

.radial {
    --val: 60;
    --size: 140px;
    --thickness: 8;
    --track: #edf2f7;
    --shadow: 0 8px 24px rgba(2, 132, 199, .12);

    width: var(--size);
    height: var(--size);
    display: grid;
    place-items: center;
    position: relative;
    filter: drop-shadow(var(--shadow));
  }
  .radial svg {
    width: 100%;
    height: 100%;
    transform: rotate(-90deg);
    overflow: visible;
    display: block;
  }
  .radial .track {
    stroke: var(--track);
    stroke-width: var(--thickness);
  }
  .radial .value {
    stroke-width: var(--thickness);
    stroke-linecap: round;
    stroke: url(#grad);
    stroke-dasharray: 326.7256;
    stroke-dashoffset: calc(326.7256 * (1 - var(--val) / 100));
    transition: stroke-dashoffset .4s ease;
  }

  .radial .label {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    font: 600 28px/1.1 system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;
    color: #4b5563;
  }

@media (min-width: 1201px) {
    #navbar{
        position:sticky;
        top:0;
        z-index:1000
    }
}

@media (min-width: 1400px){
    .container-xxl{
        max-width:1640px
    }
}

@media (max-width: 992px){
    .udec-slider .card-img-top{
        height:160px
    }
}
@media (max-width: 576px){
    .udec-slider .card-img-top{
        height:200px
    }
    .news-slider .slick-slide{ padding: 6px; }
}



/* Fondo Animado Canvas */
#digital-bg {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -10;
    background: radial-gradient(circle at top right, #f1f5f9, #ffffff);
}

.text-gradient {
    background: linear-gradient(135deg, var(--udec-green-dark), var(--udec-green), var(--accent-teal));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    display: inline-block;
}

.btn-udec {
    background-color: var(--udec-green);
    color: white;
    border-radius: 12px;
    font-size: 0.75rem;
    letter-spacing: 0.1em;
    line-height: 23px;
    font-weight: 900;
    border: none;
    transition: all 0.4s;
    box-shadow: 0 10px 20px -5px rgba(0, 103, 71, 0.3);
}
.btn-udec:hover {
    background-color: var(--udec-green-dark);
    transform: translateY(-3px);
    box-shadow: 0 15px 25px -5px rgba(0, 103, 71, 0.4);
    color: white;
}

.btn-outline-udec {
    background-color: transparent;
    color: var(--udec-green);
    border: 2px solid var(--udec-green);
    border-radius: 12px;
    font-size: 0.75rem;
    letter-spacing: 0.1em;
    line-height: 23px;
    font-weight: 900;
    transition: all 0.4s;
    box-shadow: 0 10px 20px -5px rgba(0, 103, 71, 0.3);
}

.btn-outline-udec:hover {
    background-color: var(--udec-green);
    color: white;
    transform: translateY(-3px);
    box-shadow: 0 15px 25px -5px rgba(0, 103, 71, 0.4);
}

.bot-wrapper {
    position: fixed;
    bottom: 2rem;
    right: 2rem;
    z-index: 2000;
}
.bot-main {
    width: 4rem;
    height: 4rem;
    background: var(--udec-green);
    border-radius: 1.25rem;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    box-shadow: 0 15px 35px rgba(0,103,71,0.3);
    border: 3px solid white;
    transition: 0.4s;
}
.bot-main:hover { transform: scale(1.1) rotate(-5deg); }

.bg-success-subtle.text-success-ud {
  animation: opacityPulse 2s ease-in-out infinite;
}
#bannerCarousel .carousel-inner,
#bannerCarousel .carousel-item {
    height: 100%;
}

#bannerCarousel .carousel-item::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(255, 255, 255, 0.6);
    z-index: 1;
}
#bannerCarousel .carousel-caption,
#bannerCarousel button {
    z-index: 2;
}
.carousel-control-prev-icon {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0'/%3e%3c/svg%3e");
}
.carousel-control-next-icon {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 0 .708L10.293 8 4.646 13.646a.5.5 0 0 1 .708.708l6-6a.5.5 0 0 1 0-.708l-6-6a.5.5 0 0 1-.708 0'/%3e%3c/svg%3e");
}
.footer-section {
    background-color: var(--bg-blue) !important
}
.text-slate-600 {
    --tw-text-opacity: 1;
    color: rgb(71 85 105 / var(--tw-text-opacity, 1));
}
.bd-footer a {
    color: #fff !important;
}
.avatar-wrap {
    min-width: 80px;
    width: 80px;
    height: 80px;
    overflow: hidden;   
}
.card-body .avatar-wrap {
    min-width: 43px;
    width: 43px;
    height: 43px;
}
.avatar-wrap>img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center; 
    display: block; 
}
.avatar-wrap .avatar-fallback{
  width: 80px;
  height: 80px;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 28px;
  line-height: 1;
  background: #E9EEF7; /* ajusta a tu tema */
  color: var(--bg-blue)      /* bootstrap primary */
}

.embed-suscripcion{
  width: 100%;
  max-width: 100%;
}

.embed-suscripcion iframe{
  width: 100%;
  border: 0;
  display: block;
  /* alto por defecto mientras calculas el real */
  min-height: 420px;
}

.slick-list.draggable {
    overflow: initial;
}
body,
.slick-track {
    overflow-x: hidden; 
}
.slick-slide:not(.slick-active) {
    pointer-events: none;
    opacity: 0.2;
}

@keyframes opacityPulse {
  0% {
    opacity: 1;
  }
  50% {
    opacity: 0.6;
  }
  100% {
    opacity: 1;
  }
}
