/* PersonListComponent - Cards layout */
.pb-cards-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: stretch;
    gap: 15px;
    width: 100%;
    box-sizing: border-box;
}

.pb-cards-container > .card {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    text-align: center;
    padding: 0;
    border: 1px solid #dee2e6;
    border-radius: 0.375rem;
    flex: 0 1 calc((100% - (var(--cards-per-row, 3) - 1) * 15px) / var(--cards-per-row, 3)) !important;
    min-width: 0;
    max-width: none !important;
    box-sizing: border-box;
}

.pb-cards-container .card-header h4 {
    margin: 0;
    padding: 10px;
}

.pb-cards-container .card-header {
    font-size: 1.1em;
    font-weight: bold;
    width: 100%;
    text-align: center;
}

.pb-cards-container .card-body {
    display: flex;
    flex-direction: column;
    gap: 10px;
    font-size: 1em;
    line-height: 1.5;
    width: 100%;
    padding: 10px;
    box-sizing: border-box;
    flex-grow: 1;
}

.pb-cards-container .card-footer {
    display: flex;
    gap: 10px;
    justify-content: center;
    width: 100%;
    padding: 10px;
}

@media (max-width: 991px) {
    .pb-cards-container > .card {
        flex: 0 1 calc((100% - 15px) / 2) !important;
    }
}

@media (max-width: 575px) {
    .pb-cards-container > .card {
        flex: 0 1 100% !important;
    }
}
