/* =========================================================
       MN — Modern Index Sections
    ========================================================= */
    :root {
        --mn-navy:   #0a1a3a;
        --mn-blue:   #2f6fed;
        --mn-gold:   #f0a500;
        --mn-light:  #f4f7ff;
        --mn-muted:  #64748b;
        --mn-radius: 16px;
        --mn-shadow: 0 16px 50px rgba(10,26,58,.10);
        --mn-trans:  all .35s cubic-bezier(.4,0,.2,1);
    }
    body { font-family: "Open Sans", sans-serif; }

    .mn-section     { padding: 86px 0; }
    .mn-section-alt { padding: 86px 0; background: var(--mn-light); }
    .mn-label {
    display: inline-block;
    width: fit-content; /* Solo ocupa el contenido */
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: var(--mn-blue);
    background: rgba(47, 111, 237, .1);
    border-radius: 30px;
    padding: 4px 16px;
    margin: 0 auto 12px; /* Centra horizontalmente y agrega margen inferior */
}
    .mn-title {
        font-family: "Josefin Sans", sans-serif;
        font-size: clamp(1.6rem,2.8vw,2.3rem); font-weight: 600;
        color: var(--mn-navy); line-height: 1.25; margin-bottom: 10px;
    }
    #noticias .mn-title {
        display: inline-block;
        position: relative;
    }
    #noticias .mn-title::after {
        content: '';
        position: absolute;
        left: 0;
        bottom: -8px;
        width: 60%;
        height: 3px;
        background: linear-gradient(90deg, #2f6fed, #f0a500, transparent);
        border-radius: 2px;
    }
    .mn-sub  { font-size: 16px; color: var(--mn-muted); line-height: 1.7; margin-bottom: 0; }
    .mn-link-all {
        display: inline-flex; align-items: center; gap: 7px;
        border: 2px solid var(--mn-blue); color: var(--mn-blue);
        padding: 9px 22px; border-radius: 50px; font-weight: 700;
        font-size: 13px; text-decoration: none; transition: var(--mn-trans);
        white-space: nowrap;
    }
    .mn-link-all:hover { background: var(--mn-blue); color: #fff; text-decoration: none; transform: translateY(-2px); }

    /* Card base */
    .mn-card {
        background: #fff; border-radius: var(--mn-radius); overflow: hidden;
        box-shadow: 0 4px 22px rgba(10,26,58,.07);
        border: 1px solid rgba(47,111,237,.08);
        transition: var(--mn-trans); height: 100%;
        display: flex; flex-direction: column; position: relative;
    }
    .mn-card::after {
        content: ''; position: absolute; bottom: 0; left: 0; right: 0; height: 3px;
        background: linear-gradient(90deg, var(--mn-blue), var(--mn-gold));
        transform: scaleX(0); transform-origin: left; transition: transform .35s ease;
    }
    .mn-card:hover { transform: translateY(-9px); box-shadow: 0 26px 60px rgba(10,26,58,.16); }
    .mn-card:hover::after { transform: scaleX(1); }
    .mn-card-thumb { position: relative; overflow: hidden; aspect-ratio: 16/9; }
    .mn-card-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .5s ease; }
    .mn-card:hover .mn-card-thumb img { transform: scale(1.07); }
    .mn-badge {
        position: absolute; top: 12px; left: 12px;
        font-size: 10px; font-weight: 700; letter-spacing: 1.5px;
        text-transform: uppercase; padding: 4px 12px; border-radius: 30px; color: #fff;
    }
    .mn-b-ev { background: var(--mn-blue); }
    .mn-b-in { background: #10b981; }
    .mn-b-pr { background: #8b5cf6; }
    .mn-b-sc { background: #ef4444; }
    .mn-b-nt { background: #0ea5e9; }
    .mn-b-co { background: var(--mn-gold); }
    .mn-card-body { padding: 22px; flex: 1; display: flex; flex-direction: column; }
    .mn-meta { font-size: 11.5px; color: var(--mn-muted); display: flex; align-items: center; gap: 10px; margin-bottom: 9px; }
    .mn-card-body h4 {
        font-family: "Josefin Sans", sans-serif;
        font-size: .97rem; font-weight: 600; color: var(--mn-navy);
        line-height: 1.4; margin-bottom: 10px; flex: 1;
    }
    .mn-card-body h4 a { color: inherit; text-decoration: none; transition: color .2s; }
    .mn-card-body h4 a:hover { color: var(--mn-blue); }
    .mn-excerpt { font-size: 13.5px; color: var(--mn-muted); line-height: 1.7; margin-bottom: 14px;
        display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
    .mn-card-foot {
        display: flex; align-items: center; justify-content: space-between;
        padding-top: 12px; border-top: 1px solid #f0f4ff; margin-top: auto;
    }
    .mn-read { font-size: 12px; font-weight: 700; color: var(--mn-blue); text-decoration: none; display: flex; align-items: center; gap: 4px; transition: all .2s; }
    .mn-read:hover { color: var(--mn-navy); gap: 8px; text-decoration: none; }

    /* DESTACADOS hero pick */
    .mn-pick-hero {
        border-radius: var(--mn-radius); overflow: hidden;
        box-shadow: var(--mn-shadow); height: 100%; min-height: 440px;
        position: relative; display: block; transition: var(--mn-trans);
    }
    .mn-pick-hero img { width: 100%; height: 100%; object-fit: cover; min-height: 440px; display: block; transition: transform .6s ease; }
    .mn-pick-hero:hover img { transform: scale(1.05); }
    .mn-pick-overlay {
        position: absolute; inset: 0;
        background: linear-gradient(to top, rgba(10,26,58,.9) 0%, rgba(10,26,58,.15) 60%, transparent 100%);
    }
    .mn-pick-body { position: absolute; bottom: 0; left: 0; right: 0; padding: 32px 28px; }
    .mn-pick-body .mn-badge { position: static; display: inline-block; margin-bottom: 10px; }
    .mn-pick-body h3 {
        font-family: "Josefin Sans", sans-serif;
        font-size: clamp(1.1rem,2vw,1.45rem); font-weight: 600;
        color: #fff; line-height: 1.3; margin-bottom: 8px;
    }
    .mn-pick-body p { font-size: 13.5px; color: rgba(255,255,255,.78); line-height: 1.6; margin-bottom: 14px; }
    .mn-pick-body .mn-date { font-size: 12px; color: rgba(255,255,255,.6); display: block; margin-bottom: 14px; }
    .mn-pick-btn {
        display: inline-flex; align-items: center; gap: 6px;
        background: var(--mn-blue); color: #fff;
        padding: 9px 20px; border-radius: 50px; font-size: 13px; font-weight: 700;
        text-decoration: none; transition: var(--mn-trans);
    }
    .mn-pick-btn:hover { background: var(--mn-gold); color: #fff; text-decoration: none; transform: translateY(-2px); }
    .mn-pick-hero:hover { box-shadow: 0 30px 70px rgba(10,26,58,.22); }

    /* DESTACADOS compact side */
    .mn-compact {
        display: flex; gap: 0; margin-bottom: 16px;
        background: #fff; border-radius: 12px; overflow: hidden;
        box-shadow: 0 4px 18px rgba(10,26,58,.07);
        border: 1px solid rgba(47,111,237,.08); transition: var(--mn-trans);
    }
    .mn-compact:last-child { margin-bottom: 0; }
    .mn-compact:hover { transform: translateX(5px); box-shadow: 0 10px 32px rgba(10,26,58,.14); border-left: 3px solid var(--mn-blue); }
    .mn-compact-img { flex: 0 0 120px; overflow: hidden; }
    .mn-compact-img img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
    .mn-compact:hover .mn-compact-img img { transform: scale(1.08); }
    .mn-compact-bd { flex: 1; padding: 16px; display: flex; flex-direction: column; justify-content: center; }
    .mn-compact-bd .mn-badge { position: static; display: inline-block; margin-bottom: 6px; font-size: 9.5px; }
    .mn-compact-bd h5 { font-family: "Josefin Sans", sans-serif; font-size: .88rem; font-weight: 600; color: var(--mn-navy); line-height: 1.4; margin-bottom: 5px; }
    .mn-compact-bd h5 a { color: inherit; text-decoration: none; }
    .mn-compact-bd h5 a:hover { color: var(--mn-blue); }
    .mn-compact-bd small { font-size: 11px; color: var(--mn-muted); }

    /* Nuesto Videos */
    .mn-media { background: linear-gradient(135deg, var(--mn-navy) 0%, #163a7a 100%); padding: 86px 0; }
    .mn-media .mn-label { background: rgba(240,165,0,.15); color: var(--mn-gold); }
    .mn-media .mn-title { color: #fff; }
    .mn-media .mn-sub { color: rgba(255,255,255,.7); }
    .mn-video-wrap { border-radius: var(--mn-radius); overflow: hidden; box-shadow: 0 20px 60px rgba(0,0,0,.4); }
    .mn-video-wrap video { width: 100%; display: block; max-height: 340px; object-fit: cover; }
    .mn-video-cap {
        background: rgba(255,255,255,.06); backdrop-filter: blur(8px);
        border: 1px solid rgba(255,255,255,.1); border-top: none;
        border-radius: 0 0 var(--mn-radius) var(--mn-radius); padding: 16px 20px;
        display: flex; align-items: center; gap: 12px;
    }
    .mn-video-cap .ic { width: 36px; height: 36px; border-radius: 50%; background: var(--mn-gold); display: flex; align-items: center; justify-content: center; color: #fff; font-size: 13px; flex-shrink: 0; }
    .mn-video-cap h5 { font-weight: 700; color: #fff; margin: 0 0 2px; font-size: .92rem; }
    .mn-video-cap small { color: rgba(255,255,255,.55); font-size: 11px; }

    .mn-mthumb {
        display: flex; gap: 12px; align-items: center;
        padding: 13px; border-radius: 12px; margin-bottom: 12px;
        background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.1);
        transition: var(--mn-trans); cursor: pointer; text-decoration: none;
    }
    .mn-mthumb:last-child { margin-bottom: 0; }
    .mn-mthumb:hover { background: rgba(255,255,255,.12); transform: translateX(5px); border-color: rgba(47,111,237,.5); text-decoration: none; }
    .mn-mthumb-img { flex: 0 0 90px; height: 68px; border-radius: 8px; overflow: hidden; position: relative; }
    .mn-mthumb-img img { width: 100%; height: 100%; object-fit: cover; }
    .mn-mthumb-play {
        position: absolute; inset: 0; display: flex; align-items: center; justify-content: center;
        background: rgba(10,26,58,.4);
    }
    .mn-mthumb-play i { width: 26px; height: 26px; border-radius: 50%; background: rgba(255,255,255,.9); display: flex; align-items: center; justify-content: center; font-size: 9px; color: var(--mn-navy); padding-left: 2px; }
    .mn-mthumb-bd { flex: 1; }
    .mn-mthumb-bd .mn-badge { position: static; display: inline-block; margin-bottom: 4px; font-size: 9px; }
    .mn-mthumb-bd h6 { font-weight: 700; color: #fff; font-size: .84rem; line-height: 1.35; margin: 0 0 3px; }
    .mn-mthumb-bd span { font-size: 11px; color: rgba(255,255,255,.5); }

    /* Scroll reveal */
    .mn-sr { opacity: 0; transform: translateY(32px); transition: opacity .6s ease, transform .6s ease; }
    .mn-sr.mn-visible { opacity: 1; transform: translateY(0); }
    .mn-d1 { transition-delay: .1s; }
    .mn-d2 { transition-delay: .2s; }
    .mn-d3 { transition-delay: .3s; }

    @media(max-width:991px) {
        .mn-section, .mn-section-alt, .mn-media { padding: 56px 0; }
        .mn-pick-hero, .mn-pick-hero img { min-height: 300px; }
    }
    @media(max-width:576px) {
        .mn-compact-img { flex: 0 0 85px; }
    }

/* Blog footer CTA (legacy ix-* classes) */
.ix-blog-footer-cta {
    margin-top: 48px;
    text-align: center;
    padding: 36px 24px;
    background: #fff;
    border-radius: 16px;
    border: 1px solid rgba(47, 111, 237, .1);
    box-shadow: 0 8px 30px rgba(10, 26, 58, .06);
}

.ix-blog-footer-cta p {
    font-size: 16px;
    color: var(--mn-muted);
    margin-bottom: 20px;
}

.ix-btn-primary {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: linear-gradient(135deg, var(--mn-blue), #1a4fb5);
    color: #fff;
    padding: 12px 26px;
    border-radius: 50px;
    font-weight: 700;
    font-size: 14px;
    text-decoration: none;
    transition: var(--mn-trans);
}

.ix-btn-primary:hover {
    color: #fff;
    text-decoration: none;
    transform: translateY(-2px);
}

.ix-btn-outline {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    border: 2px solid var(--mn-blue);
    color: var(--mn-blue);
    padding: 11px 24px;
    border-radius: 50px;
    font-weight: 700;
    font-size: 14px;
    text-decoration: none;
    transition: var(--mn-trans);
}

.ix-btn-outline:hover {
    background: var(--mn-blue);
    color: #fff;
    text-decoration: none;
    transform: translateY(-2px);
}

.ix-sr {
    opacity: 0;
    transform: translateY(28px);
    transition: opacity .6s ease, transform .6s ease;
}

.ix-sr.ix-visible {
    opacity: 1;
    transform: translateY(0);
}

/* ---------- Blog decorative floating circles ---------- */
@keyframes nt-float-1 {
    0%, 100% { transform: translate(0, 0) scale(1); }
    50% { transform: translate(-22px, 18px) scale(1.08); }
}
@keyframes nt-float-2 {
    0%, 100% { transform: translate(0, 0) scale(1); }
    50% { transform: translate(18px, -20px) scale(1.06); }
}
@keyframes nt-float-3 {
    0%, 100% { transform: translate(0, 0) scale(1); }
    50% { transform: translate(-14px, -16px) scale(1.10); }
}
@keyframes nt-float-4 {
    0%, 100% { transform: translate(0, 0) scale(1); }
    50% { transform: translate(20px, 14px) scale(1.05); }
}

.nt-c {
    position: absolute;
    border-radius: 50%;
    pointer-events: none;
    z-index: 0;
    will-change: transform;
    opacity: 0.2;
}

.nt-c-1 {
    top: -90px;
    right: -90px;
    width: 420px;
    height: 420px;
    background: radial-gradient(circle, rgb(0, 86, 255) 0%, rgb(0, 86, 255) 68%);
    animation: nt-float-1 7s ease-in-out infinite;
}

.nt-c-2 {
    bottom: -70px;
    left: -70px;
    width: 340px;
    height: 340px;
    background: radial-gradient(circle, rgb(0, 86, 255) 0%, rgb(0, 86, 255) 68%);
    animation: nt-float-2 9s ease-in-out infinite;
}

.nt-c-3 {
    top: 40%;
    left: 35%;
    width: 240px;
    height: 240px;
    background: radial-gradient(circle, rgb(171 255 14) 0%, rgb(140 255 117) 68%);
    animation: nt-float-3 11s ease-in-out infinite;
}

.nt-c-4 {
    bottom: 8%;
    right: 18%;
    width: 280px;
    height: 280px;
 background: radial-gradient(circle, rgb(0, 86, 255) 0%, rgb(38, 97, 215) 68%);
    animation: nt-float-4 8s ease-in-out infinite;
}

.nt-c-5 {
    top: 20%;
    left: 8%;
    width: 160px;
    height: 160px;
 background: radial-gradient(circle, rgb(254, 76, 221) 0%, rgb(254, 76, 221) 68%);
    animation: nt-float-2 13s ease-in-out 1s infinite;
}

#noticias {
    position: relative;
    overflow: hidden;
}

#noticias > .container {
    position: relative;
    z-index: 1;
}

/* =========================================================
   EV — Eventos Section Styles
========================================================= */
.ev-card {
    background: #fff;
    border-radius: var(--mn-radius);
    border: 1px solid rgba(47, 111, 237, 0.08);
    box-shadow: 0 4px 18px rgba(10, 26, 58, 0.05);
    padding: 30px;
    position: relative;
    overflow: hidden;
    transition: var(--mn-trans);
    height: 100%;
    display: flex;
    flex-direction: column;
}
.ev-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 45px rgba(10, 26, 58, 0.12);
    border-color: rgba(47, 111, 237, 0.15);
}
.ev-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, var(--mn-blue), var(--mn-gold));
    opacity: 0;
    transition: opacity .3s ease;
}
.ev-card:hover::before {
    opacity: 1;
}
.ev-date-badge {
    width: 60px;
    height: 60px;
    background: linear-gradient(135deg, var(--mn-blue) 0%, #1a4fb5 100%);
    color: #fff;
    border-radius: 12px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    font-family: "Josefin Sans", sans-serif;
    box-shadow: 0 6px 16px rgba(47, 111, 237, 0.25);
    margin-bottom: 20px;
}
.ev-date-badge .day {
    font-size: 20px;
    font-weight: 700;
    line-height: 1;
}
.ev-date-badge .month {
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
    opacity: 0.9;
}
.ev-date-badge-gold {
    background: linear-gradient(135deg, var(--mn-gold) 0%, #c48200 100%);
    box-shadow: 0 6px 16px rgba(240, 165, 0, 0.25);
}
.ev-date-badge-purple {
    background: linear-gradient(135deg, #8b5cf6 0%, #6d28d9 100%);
    box-shadow: 0 6px 16px rgba(139, 92, 246, 0.25);
}
.ev-tag {
    display: inline-block;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    margin-bottom: 12px;
}
.ev-tag-academic { color: var(--mn-blue); }
.ev-tag-science { color: var(--mn-gold); }
.ev-tag-community { color: #8b5cf6; }

.ev-content {
    display: flex;
    flex-direction: column;
    height: 100%;
}
.ev-content h4 {
    font-family: "Josefin Sans", sans-serif;
    font-size: 1.15rem;
    font-weight: 600;
    color: var(--mn-navy);
    line-height: 1.35;
    margin-bottom: 12px;
}
.ev-desc {
    font-size: 13.5px;
    color: var(--mn-muted);
    line-height: 1.65;
    margin-bottom: 20px;
}
.ev-details {
    list-style: none;
    padding: 0;
    margin: 0 0 24px 0;
    border-top: 1px solid #f0f4ff;
    padding-top: 15px;
}
.ev-details li {
    font-size: 13px;
    color: var(--mn-muted);
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 8px;
}
.ev-details li:last-child {
    margin-bottom: 0;
}
.ev-details li i {
    color: var(--mn-blue);
    font-size: 14px;
}
.ev-btn {
    font-size: 12px;
    font-weight: 700;
    color: var(--mn-blue);
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    transition: all 0.2s ease;
    margin-top: auto;
}
.ev-btn:hover {
    color: var(--mn-navy);
    gap: 10px;
    text-decoration: none;
}

/* Custom Scrollbar for Video Thumbs */
.mn-thumbs-scroll-container::-webkit-scrollbar {
    width: 6px;
}
.mn-thumbs-scroll-container::-webkit-scrollbar-track {
    background: rgba(255, 255, 255, 0.03);
    border-radius: 10px;
}
.mn-thumbs-scroll-container::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.15);
    border-radius: 10px;
}
.mn-thumbs-scroll-container::-webkit-scrollbar-thumb:hover {
    background: rgba(255, 255, 255, 0.3);
}

.mn-mthumb.active {
    background: rgba(255, 255, 255, 0.12) !important;
    border-color: rgba(47, 111, 237, 0.6) !important;
    box-shadow: 0 4px 20px rgba(47, 111, 237, 0.2) !important;
}

