        .fc .fc-list-table {
            width: -webkit-fill-available !important;
        }

        .fc-event:hover {
            color: #000;
        }

        .fc-event {
            background-color: #52545a;
        }


        .ev-card {
            background: #fff;
            border: 1px solid #e0e0e0;
            border-radius: 12px;
            overflow: hidden;
            cursor: pointer;
            transition: transform 0.18s, border-color 0.18s;
            display: flex;
            flex-direction: column;
            height: 100%;
        }

        .ev-card:hover {
            transform: translateY(-3px);
            border-color: #b5d4f4;
        }

        /* .ev-img { width: 100%; height: 200px; object-fit: cover; display: block; flex-shrink: 0; } */

        .ev-img {
            width: 100%;
            height: 200px;
            object-fit: cover;
            object-position: bottom center;
            /* ancla abajo, recorta arriba */

            display: block;
            background: #f4f5f7;
        }

        /* .ev-body { padding: 12px 14px 14px; display: flex; align-items: flex-start; gap: 11px; flex: 1; } */
        .ev-body {
            padding: 20px 14px 14px;
            /* más padding arriba para el avatar */
            display: flex;
            align-items: flex-start;
            gap: 11px;
            flex: 1;
            position: relative;
        }

        .ev-badge {
            display: flex;
            flex-direction: column;
            align-items: center;
            background: #2c3140;
            border-radius: 8px;
            padding: 6px 10px;
            flex-shrink: 0;
            min-width: 42px;
        }

        .ev-day {
            font-size: 20px;
            font-weight: 700;
            color: #fff;
            line-height: 1;
        }

        .ev-mon {
            font-size: 10px;
            font-weight: 500;
            color: #8b92a5;
            text-transform: uppercase;
            letter-spacing: 0.8px;
            margin-top: 2px;
        }

        .ev-title {
            font-size: 13px;
            font-weight: 600;
            color: #222;
            line-height: 1.45;
            margin: 0;
            padding-top: 2px;
        }



        .bl-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.bl-card { background: #fff; border: 1px solid #e0e0e0; border-radius: 12px; overflow: hidden; display: flex; flex-direction: column; transition: transform 0.18s, border-color 0.18s; }
.bl-card:hover { transform: translateY(-3px); border-color: #b5d4f4; }
.bl-img { width: 100%; height: 180px; object-fit: cover; object-position: top center; display: block; flex-shrink: 0; }
.bl-body { padding: 14px; display: flex; flex-direction: column; flex: 1; gap: 10px; }
.bl-meta { display: flex; align-items: flex-start; gap: 8px; }
.bl-badge { display: flex; flex-direction: column; align-items: center; background: #696a6a; border-radius: 8px; padding: 5px 9px; min-width: 38px; flex-shrink: 0; }
.bl-day { font-size: 16px; font-weight: 700; color: #fff; line-height: 1; }
.bl-mon { font-size: 9px; font-weight: 500; color: #b5d4f4; text-transform: uppercase; letter-spacing: 0.8px; margin-top: 2px; }
.bl-title { font-size: 13px; font-weight: 600; color: #1a1a1a; line-height: 1.45; margin: 0; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.bl-link {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 12px;
    color: #185fa5;
    font-weight: 500;
    text-decoration: none;
    margin-top: auto;
    transition: none;  /* sin cambio de color */
}

.bl-card .bl-link:hover {
    color: #0c447c !important;
    text-decoration: none;
}
@media (max-width: 768px) { .bl-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 480px) { .bl-grid { grid-template-columns: 1fr; } }


.mu-card { background:#fff; border:1px solid #e0e0e0; border-radius:12px; overflow:hidden; display:flex; flex-direction:column; transition:transform 0.18s, border-color 0.18s; text-decoration:none; }
.mu-card:hover { transform:translateY(-3px); border-color:#b5d4f4; }
.mu-img-wrap { position:relative; overflow:hidden; height:200px; }
.mu-img { width:100%; height:100%; object-fit:cover; object-position:center; display:block; transition:transform 0.3s; }
.mu-card:hover .mu-img { transform:scale(1.04); }
.mu-overlay { position:absolute; inset:0; background:rgba(0,0,0,0); display:flex; align-items:center; justify-content:center; transition:background 0.25s; }
.mu-card:hover .mu-overlay { background:rgba(0,0,0,0.42); }
.mu-btn { opacity:0; transform:translateY(8px); transition:opacity 0.22s, transform 0.22s; display:flex; align-items:center; gap:6px; background:#fff; color:#1a1a1a; font-size:12px; font-weight:600; border:none; border-radius:8px; padding:8px 16px; cursor:pointer; text-decoration:none; }
.mu-card:hover .mu-btn { opacity:1; transform:translateY(0); }
.mu-body { padding:13px 14px 15px; }
.mu-name { margin:0; font-size:13px; font-weight:600; color:#1a1a1a; line-height:1.4; text-align:center; }
.mu-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:14px; }
@media(max-width:992px){ .mu-grid{ grid-template-columns:repeat(3,1fr); } }
@media(max-width:576px){ .mu-grid{ grid-template-columns:repeat(2,1fr); } }


/* CONVOCATORIAS — rediseño estilo poster */
.co-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }

.co-card {
    background:#fff;
    border-radius:12px;
    overflow:hidden;
    position:relative;
    cursor:pointer;
    transition: transform 0.18s;
    display:flex;
    flex-direction:column;
}
.co-card:hover { transform:translateY(-3px); }

.co-img-wrap {
    position:relative;
    overflow:hidden;
    height:320px;
    border-radius:12px;
}
.co-img {
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:top center;
    display:block;
    transition: transform 0.3s;
}
.co-card:hover .co-img { transform:scale(1.04); }

/* Barra oscura inferior con el título, pegada a la imagen */
.co-title-bar {
    position:absolute;
    left:0; right:0; bottom:0;
    background:rgba(20,22,28,0.72);
    padding:14px 16px 16px;
}
.co-name {
    margin:0;
    font-size:15px;
    font-weight:700;
    color:#fff;
    line-height:1.35;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
}

/* Badge de categoría, debajo de la barra (fuera de la imagen) */
.co-cat {
    display:inline-block;
    font-size:11px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:0.6px;
    color:#1a1a1a;
    background:#e8b34a;
    border-radius:6px;
    padding:6px 12px;
    margin-top:10px;
    align-self:flex-start;
}

@media(max-width:992px){ .co-grid{ grid-template-columns:repeat(2,1fr); } }
@media(max-width:576px){ .co-grid{ grid-template-columns:1fr; } }