/* Component: Recording Cards */

/* --- Standard recording cards (individual, masterclass, conference, sasc) --- */
.all-recordings { background: #fff; padding: 56px 0 64px; }
.all-recordings__title {
    font-family: var(--font-heading);
    font-weight: 800;
    font-size: 24px;
    line-height: 1.2;
    color: var(--purple-deep);
    margin-bottom: 8px;
}
.all-recordings__desc { font-size: 14.1px; color: var(--text-muted); margin-bottom: 32px; }
.all-recordings__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.all-recordings__grid--2col { grid-template-columns: repeat(2, 1fr); }

.recording-card {
    background: #fff;
    border: 1px solid var(--border);
    border-radius: 16px;
    padding: 20px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.1), 0 1px 2px -1px rgba(0,0,0,0.1);
    display: flex;
    flex-direction: column;
    cursor: pointer;
    transition: transform 0.25s cubic-bezier(0.25,0.46,0.45,0.94), box-shadow 0.25s cubic-bezier(0.25,0.46,0.45,0.94);
}
a.recording-card:hover { transform: translateY(-4px); box-shadow: 0 8px 24px -4px rgba(0,0,0,0.12); }

.recording-card__badge {
    display: inline-block;
    padding: 4px 10px;
    border-radius: 9999px;
    font-family: var(--font-heading);
    font-weight: 700;
    font-size: 10.9px;
    color: #433773;
    letter-spacing: 0.27px;
    margin-bottom: 16px;
    align-self: flex-start;
}
.recording-card__badge--orange { background: #fbcdaa; }
.recording-card__badge--green { background: var(--green); }
.recording-card__badge--purple { background: #d6d2fd; }
.recording-card__badge--blue { background: var(--blue); }
.recording-card__badge--red { background: var(--red-light); }
.recording-card__badge--lavender { background: #e6cbfb; }
.recording-card__badge--teal { background: #b8e8d4; }

.recording-card__title {
    font-family: var(--font-heading);
    font-weight: 700;
    font-size: 15.2px;
    line-height: 1.375;
    color: var(--purple-deep);
    margin-bottom: 8px;
}
.recording-card__speaker { font-size: 13.1px; color: var(--text-muted); margin-bottom: 12px; }
.recording-card__desc { font-size: 13.3px; line-height: 1.625; color: #5c5c69; flex: 1; margin-bottom: 16px; }

.recording-card__meta { display: flex; align-items: center; gap: 16px; margin-bottom: 16px; }
.recording-card__meta-item {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 12.5px;
    color: var(--text-muted);
}
.recording-card__meta-item svg { width: 12px; height: 12px; flex-shrink: 0; }

.recording-card__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: auto;
}
.recording-card__price {
    font-family: var(--font-heading);
    font-weight: 800;
    font-size: 19.2px;
    color: var(--purple-dark);
}
.recording-card__price--free { color: var(--green-dark); }
.recording-card__btn {
    display: inline-block;
    background: var(--red-btn);
    color: #fff;
    font-family: var(--font-heading);
    font-weight: 700;
    font-size: 12.8px;
    padding: 10px 16px;
    border-radius: 9999px;
    white-space: nowrap;
    transition: background-color 0.25s ease, transform 0.25s ease;
}
.recording-card__btn:hover { background-color: #c41a27; }

@media (max-width: 860px) {
    .all-recordings__grid,
    .all-recordings__grid--2col { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 460px) {
    .all-recordings__grid,
    .all-recordings__grid--2col { grid-template-columns: 1fr; }
}

/* --- Free recording cards --- */
.free-recordings { background: #fff; padding: 64px 0 48px; }
.free-recordings__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }

.free-card {
    background: #fff;
    border: 1px solid var(--border);
    border-radius: 16px;
    padding: 24px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.1), 0 1px 2px -1px rgba(0,0,0,0.1);
    display: flex;
    flex-direction: column;
    cursor: pointer;
    border-top-width: 4px;
    transition: transform 0.25s cubic-bezier(0.25,0.46,0.45,0.94), box-shadow 0.25s cubic-bezier(0.25,0.46,0.45,0.94);
}
a.free-card:hover { transform: translateY(-4px); box-shadow: 0 8px 24px -4px rgba(0,0,0,0.12); }
.free-card--blue { border-top-color: var(--blue); }
.free-card--green { border-top-color: var(--green); }
.free-card--purple { border-top-color: #d6d2fd; }
.free-card--red { border-top-color: var(--red-light); }
.free-card--orange { border-top-color: #fbcdaa; }
.free-card--lavender { border-top-color: #e6cbfb; }

.free-card__badge {
    display: inline-block;
    padding: 4px 10px;
    border-radius: 9999px;
    font-family: var(--font-heading);
    font-weight: 700;
    font-size: 10.9px;
    color: #2f2863;
    letter-spacing: 0.27px;
    margin-bottom: 16px;
    align-self: flex-start;
}
.free-card__badge--blue { background: var(--blue); }
.free-card__badge--green { background: var(--green); }
.free-card__badge--purple { background: #d6d2fd; }
.free-card__badge--red { background: var(--red-light); }
.free-card__badge--orange { background: #fbcdaa; }
.free-card__badge--lavender { background: #e6cbfb; }

.free-card__title {
    font-family: var(--font-heading);
    font-weight: 700;
    font-size: 15.2px;
    line-height: 1.375;
    color: var(--purple-deep);
    margin-bottom: 8px;
}
.free-card__speaker {
    font-family: var(--font-heading);
    font-weight: 500;
    font-size: 12.8px;
    color: #686194;
    margin-bottom: 12px;
}
.free-card__desc { font-size: 13.3px; line-height: 1.625; color: #5c5c69; flex: 1; margin-bottom: 16px; }
.free-card__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: auto;
}
.free-card__price {
    font-family: var(--font-heading);
    font-weight: 800;
    font-size: 17.6px;
    color: var(--green-dark);
}
.free-card__btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: var(--green-dark);
    color: #fff;
    font-family: var(--font-heading);
    font-weight: 700;
    font-size: 12.8px;
    padding: 10px 16px;
    border-radius: 9999px;
    white-space: nowrap;
    transition: background-color 0.25s ease, transform 0.25s ease;
}
.free-card__btn:hover { background-color: #006d35; }
.free-card__btn svg { width: 12px; height: 12px; flex-shrink: 0; }

@media (max-width: 860px) { .free-recordings__grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 460px) { .free-recordings__grid { grid-template-columns: 1fr; } }
