/* Karta szkolenia - wspolna dla bloku "Podobne szkolenia", wynikow
   wyszukiwania i list kategorii. Markup: parts/course-card.php */

.course-card {
    border: 1px solid var(--color-secondary-200);
    border-radius: var(--radius-2xl);
    padding: 1rem;
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    background: var(--color-white);
    height: 100%
}

.course-card__media {
    position: relative;
    width: 100%
}

.course-card__image-link {
    display: block;
    text-decoration: none
}

.course-card__image {
    width: 100%;
    aspect-ratio: 4 / 3;
    height: auto;
    object-fit: cover;
    border-radius: var(--radius-lg);
    display: block
}

.course-card__image--empty {
    background: var(--color-secondary-100);
    display: flex;
    align-items: center;
    justify-content: center
}

.course-card__empty-text {
    color: var(--color-secondary-500)
}

.course-card__icon-wrap {
    position: absolute;
    left: 1rem;
    bottom: -1rem
}

.course-card__icon-box {
    background: var(--color-white);
    border-radius: var(--radius-2xl);
    width: 5rem;
    height: 5rem;
    box-shadow: 0 10px 24px rgb(var(--color-secondary-rgb) / .14);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem
}

.course-card__content {
    display: flex;
    flex-direction: column;
    gap: 1rem
}

.course-card__content-inner {
    display: flex;
    flex-direction: column;
    gap: .5rem
}

.course-card__title {
    margin: 0;
    color: var(--color-secondary);
    font-size: 1.5rem;
    line-height: 1.25;
    font-weight: 600
}

.course-card__title-link {
    color: inherit;
    text-decoration: none
}

.course-card__title-link:hover {
    text-decoration: underline
}

.course-card__type {
    color: var(--color-text-muted);
    font-size: .875rem
}

.course-card__meta-row {
    display: flex;
    flex-direction: row;
    gap: 1rem;
    flex-wrap: nowrap;
    padding: .5rem 0;
    overflow-x: auto
}

.course-card__meta-item {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    min-width: 0
}

.course-card__meta-icon {
    width: 1rem;
    height: 1rem;
    color: var(--color-secondary);
    flex-shrink: 0
}

.course-card__meta-icon svg {
    width: 100%;
    height: 100%;
    display: block
}

.course-card__meta-text {
    color: var(--color-secondary);
    font-size: .9rem;
    white-space: nowrap
}

.course-card__footer {
    margin-top: auto;
    display: flex;
    flex-direction: column;
    gap: .75rem
}

.course-card__date-label {
    color: var(--color-text-muted);
    font-size: .875rem
}

.course-card__date-value {
    color: var(--color-secondary);
    font-size: 1rem;
    font-weight: 400
}

.course-card__button {
    width: 100%
}

@media (min-width: 768px) {
    .course-card__button {
        width: auto
    }
}

.course-card__spacer {
    flex-grow: 1
}

/* Siatka kart. Uzywana wszedzie tam, gdzie karty stoja obok siebie. */
.course-card-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem
}

@media (min-width: 768px) {
    .course-card-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 1.5rem
    }
}

@media (min-width: 1024px) {
    .course-card-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr))
    }
}

/* Cena netto i brutto z IRender::formatPriceNettoBruttoSimplified. Wczesniej
   ten uklad opisywaly reguly .list--courses .price-category, ktore odeszly
   razem z kaflem listy - tutaj jest przeskalowany pod karte. */
.course-card__date-value .flex {
    align-items: baseline;
    gap: .5rem
}

.course-card__date-value .netto {
    color: var(--color-primary);
    font-size: 1.25rem;
    font-weight: 600
}

.course-card__date-value .netto .text-base {
    color: var(--color-text-muted);
    font-size: .875rem;
    font-weight: 400
}

.course-card__date-value .brutto {
    color: var(--color-text-muted);
    font-size: .875rem;
    font-weight: 400
}
