
/* CONTENEDOR DE TODAS LAS TARJETAS */
.tarjetas-grid {
    display: grid;
  
    grid-template-columns: repeat(3, 1fr); 
    gap: 30px;
    
    /* Usamos el 100% del ancho disponible del padre */
    width: 100%; 
    max-width: 130em; 
    
    /* Centrado horizontal  */
    margin-left: auto;
    margin-right: auto;
    
    /* Aseguramos que el contenido interno también se alinee */
    justify-content: center; 
    padding: 20px;
    box-sizing: border-box; /* Para que el padding no sume ancho extra */
}

/* que la tarjeta ocupe todo el ancho de su celda */
.tarjeta {
    width: 100%; 
    box-sizing: border-box;
    display: grid;
    place-items: center; /* Esto centra TODO (horizontal y verticalmente) en una sola línea */
    min-height: 250px;
}
 
.cajaLogo {
    width: 20rem;           
    height: 20rem;
    background-color: #ffffff; 
    display: flex;          
    align-items: center;
    justify-content: center;
    overflow: hidden;      
    border-radius: 1rem;     
    padding: 10px;          
    box-sizing: border-box; 
}

.cajaLogo img {
    width: 100%;            
    height: 100%;           
    object-fit: contain;    
    object-position: center; 
}

/* RESPONSIVE */
@media (max-width: 768px) {
    .tarjetas-grid {
        grid-template-columns: 1fr; /* una columna */
    }
}

/* TARJETA ENTERA */
.tarjeta {
    display: flex;
    flex-direction:column;      /* filas */
    border: 2px solid gold;
    border-radius: 12px;
    padding: 20px; 
    
    background-color: #7D0988;
    min-height: 250px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
    color: #32073f;
}

/* tarjeta nombre y logo */
.tarjeta-left {
    width: 50%;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    padding-right: 20px;
    border-right: 2px solid #ddd;
}

.redes{
    width: 100%;
    display: flex;              
    justify-content: center;    
    gap: 1rem;
    margin-top: auto;
}

.tarjeta-left img {
    width: 80%;
    height: auto;
    object-fit: contain;
}

/* tarjeta info de empresa */
.descripcionEmpresa {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-top: 1.5rem;
}

.descripcionEmpresa p {
    margin-top: 0.6rem;
    font-size: 1.5rem;
    line-height: 1.6;
    color: gold;
    text-align: center;
}
.descripcionEmpresa h1{
    color: gold; 
    white-space: pre-line;
    text-align: center;
}
@media (max-width: 768px) {

    .tarjeta {
        flex-direction: column;          /* apila verticalmente */
        align-items: center;             /* centrado */
        text-align: center;
    }

    .tarjeta-left {
        width: 100%;
        border-right: none;              /* quita división vertical */
        padding-right: 0;
        border-bottom: 2px solid #ddd;   /* añade división horizontal */
        padding-bottom: 20px;
    }

    .tarjeta-right {
        width: 100%;
        padding-left: 0;
        margin-top: 20px;
    }
}
@media (max-width: 480px) {

    p {
         margin-left: 1rem;
        margin-right: 1rem;
        margin-top: 1.5rem;
        font-size: 1.2rem;
        line-height: 1.4; 
        text-align: left;
    }
}