/* =================================== */
/* Estilos para Fichas de Requisitos   */
/* Versión 3: Alineación corregida     */
/* =================================== */

.requisitos-container {
    margin-top: 30px;
    max-width: 1000px; 
    margin-left: auto;
    margin-right: auto;
    display: grid;
    grid-template-columns: repeat(2, 1fr); 
    gap: 30px; 
}

.requisito-item {
    background: #ffffff;
    border: 1px solid #e9ecef;
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
    padding: 35px 30px;
    text-align: center; /* El ícono y el título se centran con esto */
    transition: transform 0.3s ease, box-shadow 0.3s ease; 
    display: flex; 
    flex-direction: column;
}

.requisito-item:hover {
    transform: translateY(-5px); 
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.08);
}

.requisito-item h4 {
    background: none; 
    border: none;
    padding: 0;
    margin: 0 0 15px 0;
    font-size: 1.3rem; 
    color: #343a40;
    font-weight: 600;
}

.requisito-item h4 i {
    font-size: 3.5rem; 
    display: block; 
    margin: 0 auto 20px auto; 
    color: #0056b3; 
}

/* =================================== */
/* !! NUEVA REGLA PARA ALINEACIÓN !!   */
/* =================================== */
.card-body {
    text-align: left; /* Alinea todo el cuerpo de texto a la izquierda */
    flex-grow: 1; /* Empuja el contenido para llenar la tarjeta (útil si las tarjetas tienen alturas diferentes) */
}
/* =================================== */

.card-body p {
    padding-top: 0;
    font-size: 0.95rem;
    line-height: 1.6;
    color: #555;
    margin-bottom: 15px; /* Añade espacio antes de la lista */
}

.card-body h5 {
    margin-top: 20px;
    font-size: 1.05rem;
    color: #495057;
}

.card-body ul {
    padding-bottom: 20px;
    list-style-type: disc;
    list-style-position: outside; /* Se ve más limpio que 'inside' */
    padding-left: 1.2em; /* Añade padding para que las viñetas no se peguen */
    margin-top: 0;
}

.card-body li {
    margin-bottom: 10px;
    line-height: 1.6;
    font-size: 0.95rem;
}


/* RESPONSIVO (Para móviles) */
@media (max-width: 768px) {
    .requisitos-container {
        grid-template-columns: 1fr; /* Una sola columna */
    }
}