.block_cblue_catalogue,
#page-blocks-cblue_catalogue-catalogue {
    --card-container-background: #f1f1f1;
    --card-encart-color: #bbbbbb;
    --card-text-color: #333333;
    --border-color: rgba(0, 0, 0, 0.125);
}

.block_cblue_catalogue .cblue-catalogue-block-content,
#page-blocks-cblue_catalogue-catalogue .cblue-catalogue-block-content {
    width: 100%;
    display: flex;
    container-type: inline-size;
    container-name: block-content;
}

.block_cblue_catalogue .cblue-catalogue-block-content .filters,
#page-blocks-cblue_catalogue-catalogue .cblue-catalogue-block-content .filters {
    width: 25%;
}
.block_cblue_catalogue .cblue-catalogue-block-content .filters .filters-container,
#page-blocks-cblue_catalogue-catalogue .cblue-catalogue-block-content .filters .filters-container {
    width: 90%;
    height: 100%;
    padding: 20px 10%;
    border: 1px solid var(--border-color);
    border-radius: 5px;
}
.block_cblue_catalogue .cblue-catalogue-block-content .filters .filters-container > div,
#page-blocks-cblue_catalogue-catalogue .cblue-catalogue-block-content .filters .filters-container > div {
    display: flex;
    flex-direction: column;
    margin-bottom: 15px;
}
.block_cblue_catalogue .cblue-catalogue-block-content .filters .filters-container > div label,
#page-blocks-cblue_catalogue-catalogue .cblue-catalogue-block-content .filters .filters-container > div label {
    font-weight: bold;
    margin-bottom: 0px;
}
.block_cblue_catalogue .cblue-catalogue-block-content .filters .filters-container > div select,
.block_cblue_catalogue .cblue-catalogue-block-content .filters .filters-container > div input,
#page-blocks-cblue_catalogue-catalogue .cblue-catalogue-block-content .filters .filters-container > div select,
#page-blocks-cblue_catalogue-catalogue .cblue-catalogue-block-content .filters .filters-container > div input {
    height: 30px;
    flex-grow: 1;
    margin: 5px 0;
}
.block_cblue_catalogue .cblue-catalogue-block-content .filters .filters-container > div .date-container span,
#page-blocks-cblue_catalogue-catalogue .cblue-catalogue-block-content .filters .filters-container > div .date-container span {
    min-width: 50px;
}
.block_cblue_catalogue .cblue-catalogue-block-content .cards-container,
#page-blocks-cblue_catalogue-catalogue .cblue-catalogue-block-content .cards-container {
    width: 75%;
    background-color: var(--card-container-background);
    border-radius: 5px;
    display: flex;
    flex-wrap: wrap;
    padding: 10px 20px;
    justify-content: flex-start;
    container-type: inline-size;
    container-name: card-container;
}
.block_cblue_catalogue .cblue-catalogue-block-content .cards-container .card,
#page-blocks-cblue_catalogue-catalogue .cblue-catalogue-block-content .cards-container .card {
    position: relative;
    width: calc(25% - 20px);
    max-width: calc(25% - 20px);
    margin: 10px;
    padding: 10px;
    border-radius: 5px;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    flex-shrink: 1;
}
.block_cblue_catalogue .cblue-catalogue-block-content .cards-container .card .card-link,
#page-blocks-cblue_catalogue-catalogue .cblue-catalogue-block-content .cards-container .card .card-link {
    width: 100%;
    height: 100%;
}
.block_cblue_catalogue .cblue-catalogue-block-content .cards-container .card .card-link .encart,
#page-blocks-cblue_catalogue-catalogue .cblue-catalogue-block-content .cards-container .card .card-link .encart {
    position: absolute;
    top: 0;
    left: 0;
    background-color: var(--card-encart-color);
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 30px;
    min-width: 80px;
    padding: 0 10px;
    color: var(--card-text-color);
}
.block_cblue_catalogue .cblue-catalogue-block-content .cards-container .card .card-link .card-background-img,
#page-blocks-cblue_catalogue-catalogue .cblue-catalogue-block-content .cards-container .card .card-link .card-background-img {
    width: 100%;
    height: calc(10rem - 50px);
    background-size: cover;
}
.block_cblue_catalogue .cblue-catalogue-block-content .cards-container .card .card-link .card-body,
#page-blocks-cblue_catalogue-catalogue .cblue-catalogue-block-content .cards-container .card .card-link .card-body {
    padding: 0;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.block_cblue_catalogue .cblue-catalogue-block-content .cards-container .card .card-link .card-body h5,
#page-blocks-cblue_catalogue-catalogue .cblue-catalogue-block-content .cards-container .card .card-link .card-body h5 {
    margin: 10px 0;
    color: var(--card-text-color);
}
.block_cblue_catalogue .cblue-catalogue-block-content .no-courses-message,
#page-blocks-cblue_catalogue-catalogue .cblue-catalogue-block-content .no-courses-message {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    font-style: italic;
}

@container card-container (max-width: 1200px) {
    .card {
        width: calc(33.3333333333% - 20px) !important;
        max-width: calc(33.3333333333% - 20px) !important;
    }
}
@container card-container (max-width: 992px) {
    .card {
        width: calc(50% - 20px) !important;
        max-width: calc(50% - 20px) !important;
    }
}
@container card-container (max-width: 600px) {
    .card {
        width: calc(100% - 20px) !important;
        max-width: calc(100% - 20px) !important;
    }
}
@container block-content  (max-width: 992px) {
    .filters {
        width: 40% !important;
    }
    .cards-container {
        width: 60% !important;
    }
}
