@font-face{
  font-family: "Font Awesome 6 Free";
  font-style:normal;
  font-weight:400;
  font-display:block;
  src:url(/circularcitycentre/resources/fa-regular-400.woff2) format("woff2");
}
@font-face{
  font-family: "Font Awesome 6 Free";
  font-style:normal;
  font-weight:900;
  font-display:block;
  src: url(/circularcitycentre/resources/fa-solid-900.woff2) format("woff2");
}

.fa-chevron-down{--fa: ""}
.fa-chevron-up{--fa: ""}
.fa{
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  display: inline-block;
  font-style: normal;
  font-variant: normal;
  line-height: 1;
  text-rendering: auto;
}

.fa::before {
  content: var(--fa);
}

.img-fluid {
  height: auto;
  display: unset !important;
}

.track-card {
    position: relative;
    background: #fff;
    border-radius: 0.5rem;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
    overflow: hidden;
    width: 250px;
    height: 520px;

    .course-metadata {
      p {
        max-height: 20px;
        font-size: 13px;
        overflow: hidden;
      }
    }

    .course-partners {
      max-height: 85px;
      p {
        margin-bottom: 0;
      }
    }

    .card-main-content {
        height: 100%;
        display: flex;
        flex-direction: column;
        transition: transform 0.5s ease-out;
        
        &.is-expanded {
            transform: translateY(-100%);
        }
    }

    .track-image {
        width: 100%;
        height: 160px;
        object-fit: cover;
    }

    .card-body-content {
        padding: 1rem;
        flex-grow: 1;
        display: flex;
        flex-direction: column;

        h3 {
            font-size: 1rem;
            font-weight: 700;
            line-height: 1.25rem;
            color: #333;
            margin-bottom: 0.5rem;
            min-height: 3.75rem;
            display: -webkit-box;
            -webkit-line-clamp: 3;
            -webkit-box-orient: vertical;
            overflow: hidden;
        }

        .course-metadata {
            font-size: 0.75rem;
            color: #6b7280;
            margin-bottom: 0.5rem;
        }

        .course-partners-container {
            display: none !important;
            &.has-partners {
                display: flex !important;
            }
            
            .partners-prefix {
                margin: auto;
                font-size: 11px;
                color: #6b7280;
                white-space: nowrap;
                text-transform: none;
                font-weight: normal;
            }

            .course-partners {
                img {
                    max-height: 36px;
                    max-width: 92px;
                    object-fit: contain;
                }
            }
        }
    }

    .expand-trigger-area {
        border-top: 1.5px solid #e5e7eb;
        border-bottom: 1.5px solid #e5e7eb;

        .toggle-expand-btn {
            width: 100%;
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding: 0.75rem 1rem;
            background: transparent;
            border: none;
            cursor: pointer;
            
            span {
                font-size: 0.75rem;
                font-weight: 600;
                text-transform: uppercase;
                letter-spacing: 0.05em;
                color: #4b5563;
            }

            i {
                font-size: 1.25rem;
                color: #4b5563;
                transition: transform 0.3s;
            }
        }
    }

    .btn-action-area {
        padding: 1rem;
        
        .btn-teaser {
            width: 100%;
            border-radius: 9999px;
            background-color: #FFAF28;
            color: #000;
            padding: 0.5rem 0;
            font-weight: 700;
            font-size: 0.875rem;
            text-align: center;
            text-decoration: none;
            display: block;
            transition: opacity 0.3s;
            border: none;

            &:hover {
                opacity: 0.8;
            }
        }
    }

    .card-overlay-content {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: #fff;
        display: flex;
        flex-direction: column;
        transform: translateY(100%);
        transition: transform 0.5s ease-out, opacity 0.5s ease-out;
        opacity: 0;
        visibility: hidden;
        z-index: 5;

        &.is-visible {
            transform: translateY(0);
            opacity: 1;
            visibility: visible;
        }

        .overlay-header {
            width: 100%;
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding: 0.75rem 1rem;
            border-bottom: 1.5px solid #e5e7eb;

            span {
                font-size: 0.75rem;
                font-weight: 600;
                text-transform: uppercase;
                letter-spacing: 0.05em;
                color: #4b5563;
            }

            .close-expand-btn {
                background: transparent;
                border: none;
                cursor: pointer;
                padding: 0;
                i {
                    font-size: 1.25rem;
                    color: #4b5563;
                }
            }
        }

        .overlay-body {
            flex-grow: 1;
            padding: 1rem;
            font-size: 0.75rem;
            font-weight: 600;
            color: #4b5563;
            overflow-y: auto;

            .summary-title {
                display: block;
                margin-bottom: 1rem;
            }

            .course-summary {
                ul {
                    list-style-type: disc;
                    padding-left: 1.5rem;
                    li {
                        margin-bottom: 0.5rem;
                    }
                }
            }
        }
    }
}


