/* wwwroot/css/courses.css */

/*
  Layout requirements:
  - Max 4 cards across
  - Card size 265x309
  - Gap 20px both directions
*/

.hidden {
    display: none !important;
}

.courses-shell {
    max-width: 1160px;
    margin: 0 auto;
    padding: 2em 0;
}

.course-page {
    padding-top: 2em;
    padding-bottom: 2em;
}


.course-detail__block,
.oms-schedule-catalog,
.courses-shell {
    max-width: var(--umbraco-container-max-width) !important;
}

.course-detail__block,
.courses-results,
.courses-shell {
    .course-grid[data-preset="category"],
    .course-grid[data-preset="course"], .course-grid  {

        .course-card {
            box-shadow: var(--umbraco-card-box-shadow) !important;

            &:hover {
                transform: translateY(-4px);

                .course-card__title {
                    color: var(--umbraco-body-secondery-color) !important;
                }
                /* Overlay */
                .course-card__media::after {
                    content: "";
                    position: absolute;
                    inset: 0;
                    /* top:0 right:0 bottom:0 left:0 */
                    background: linear-gradient( 180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.6) 83.85% );
                    pointer-events: none;
                    /* keeps the <a> clickable */
                }
            }

            .course-card__media::after {
                transition: opacity 200ms ease;
                opacity: 1;
            }

            .course-card:hover .course-card__media::after {
                opacity: 0.8;
            }

            .course-card__location, .course-card__date {
                display: none;
            }
        }

        .course-card {
            width: 100%;
            height: 280px;
            border: 1px solid #e5e5e5;
            border-radius: var(--umbraco-border-radius);
            overflow: hidden;
            background: #fff;
        }

        .course-card__link {
            display: flex;
            flex-direction: column;
            width: 100%;
            height: 100%;
            color: inherit;
            text-decoration: none;
        }

        .course-card__media {
            height: 50px;
            background: #f4f4f4;
        }

        .course-card__img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            display: block;
        }

        .course-card__img--placeholder {
            background: linear-gradient(90deg, #f4f4f4, #ededed, #f4f4f4);
        }

        .course-card__body {
            padding: 12px;
            display: flex;
            flex-direction: column;
            gap: 8px;
            /*height: calc(309px - 150px);*/
        }
        .course-card__title {
            font-size: 16px;
            line-height: 1.25;
            margin: 0;
            display: -webkit-box;
            -webkit-line-clamp: 2;
            -webkit-box-orient: vertical;
            overflow: hidden;
        }

        .course-card__teaser {
            font-size: 13px;
            margin: 0;
            color: #444;
            display: -webkit-box;
            -webkit-line-clamp: 3;
            -webkit-box-orient: vertical;
            overflow: hidden;
        }

        .course-card__price {
            margin-top: auto;
            font-weight: 600;
        }

        .course-loading {
            text-align: center;
            padding: 16px;
        }

        .course-sentinel {
            height: 1px;
        }

        .course-filters {
            margin: 0 auto 20px auto;
        }

        .course-filters__row {
            display: flex;
            gap: 12px;
            flex-wrap: wrap;
            justify-content: center;
            align-items: end;
        }

        .course-filters__field {
            display: flex;
            flex-direction: column;
            gap: 6px;
        }

        .course-filters__label {
            font-size: 12px;
            opacity: .8;
        }

        .course-filters__input {
            height: 34px;
            padding: 6px 10px;
            border: 1px solid #e5e5e5;
            border-radius: var(--umbraco-input-border-radius);
            min-width: 180px;
        }

        .course-filters__submit {
            height: 34px;
            padding: 0 14px;
            border: 1px solid #e5e5e5;
            border-radius: var(--umbraco-input-border-radius);
            background: #fff;
        }
    }
}
@media (max-width: 1160px) {
    .course-grid {
        grid-template-columns: repeat(3, 265px);
    }
}

@media (max-width: 875px) {
    .course-grid {
        grid-template-columns: repeat(2, 265px);
    }
}

@media (max-width: 590px) {
    .course-grid {
        grid-template-columns: repeat(1, 265px);
    }
}
