/* Shared individual HLV card. Playlist summary cards are intentionally unaffected. */
.hlv-video-card { display:flex; flex-direction:column; min-width:0; height:100%; padding:10px; border:1px solid #dfe6ef; border-radius:12px; background:#fff; color:#08264c; box-shadow:0 4px 16px #08264c06; transition:border-color .18s,box-shadow .18s; }
.hlv-video-card:hover,.hlv-video-card:focus-within { border-color:#aabbd3; box-shadow:0 8px 24px #08264c0d; }
.hlv-video-card-thumbnail { display:block; position:relative; overflow:hidden; aspect-ratio:16/9; width:100%; border-radius:10px; background:#edf1f6; }
.hlv-video-card-thumbnail img { display:block; width:100%; height:100%; object-fit:cover; }
.hlv-video-card-play { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); display:grid; place-items:center; width:62px; height:62px; border:2px solid #00255c; border-radius:50%; color:#fff; background:#00255c; font-size:24px; box-shadow:0 2px 10px #0003; }
.hlv-video-card-duration { position:absolute; right:10px; bottom:10px; display:inline-flex; align-items:center; gap:6px; padding:4px 9px; border-radius:999px; background:#000d; color:#fff; font-size:14px; font-weight:600; line-height:1.4; }
.hlv-video-card-copy { flex:1; padding:12px 10px 16px; }
.hlv-video-card .hlv-video-card-copy h3 {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    margin: 12px 0 8px;
    font-family: var(--font-heading);
    font-size: 20px;
    font-weight: 600;
    line-height: 1.25;
    color: #08264c;
}
.hlv-video-card h3 a { color:inherit; text-decoration:none; }
.hlv-video-card-playlist { display:inline-flex; align-items:center; gap:8px; max-width:100%; padding:6px 12px; border:1px solid #b4ccec; border-radius:8px; background:#eaf1fc; color:#00255c; font-size:14px; font-weight:600; line-height:1.4; overflow-wrap:anywhere; }
.hlv-video-card-copy p { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:3; overflow:hidden; margin:0; color:#4d4d4d; font-size:18px; line-height:1.6; }
.hlv-video-card .student-hlv-lesson-actions { display:flex; flex-direction:row; align-items:center; justify-content:flex-start; flex-wrap:nowrap; gap:8px; margin:0; width:100%; padding:0; }
.hlv-video-card .student-hlv-lesson-actions form { margin:0; display:inline-flex; }
.hlv-video-card .student-hlv-lesson-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 38px;
    width: 38px;
    height: 40px;
    min-width: 38px;
    padding: 0;
    border: 1px solid #dfe7ed;
    border-radius: 9px;
    background: #fff;
    /*color: #00255c;*/
    font-size: 17px;
    text-decoration: none;
    box-shadow: none;
}
.hlv-video-card .student-hlv-lesson-action:hover { background:#eaf1fc; border-color:#00255c; color:#00255c; }
.hlv-video-card .student-hlv-lesson-action.is-active { background:#eaf0fa; border-color:#a4b8d5; color:#00255c; }
.hlv-video-card [data-favorite-button].is-active { background:#eaf1fc; border-color:#a4b8d5; color:#00255c; }
.hlv-video-card .student-hlv-lesson-open { display:inline-flex; flex-direction:row; align-items:center; justify-content:center; gap:9px; min-height:40px; margin:0 0 0 auto; padding:12px 14px; border:1px solid #00255c; border-radius:9px; background:#00255c; color:#fff; font-size:14px; font-weight:600; line-height:1.2; white-space:nowrap; text-decoration:none; box-shadow:none; }
.hlv-video-card .student-hlv-lesson-open:hover { background:#00255c; border-color:#00255c; color:#fff; }
.hlv-video-card .student-hlv-lesson-open i { color:inherit; font-size:13px; }
.hlv-video-card :is(a,button):focus-visible { outline:3px solid #00255c; outline-offset:3px; }
.hlv-video-card button:disabled { opacity:.65; cursor:wait; }
.hlv-video-card-grid,.sofl-video-list:has(> .hlv-video-card),.sofl-related-videos:has(> .hlv-video-card) { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; align-items:stretch; }
@media(max-width:1199.98px){.hlv-video-card-grid,.sofl-video-list:has(> .hlv-video-card),.sofl-related-videos:has(> .hlv-video-card){grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767.98px){.hlv-video-card-grid,.sofl-video-list:has(> .hlv-video-card),.sofl-related-videos:has(> .hlv-video-card){grid-template-columns:minmax(0,1fr)}}
@media(prefers-reduced-motion:reduce){.hlv-video-card{transition:none}}
.hlv-video-card .student-hlv-lesson-open { width:auto; height:auto; }
.hlv-video-card .student-hlv-lesson-open > span { display:inline; }
.student-hlv-reference .sofl-related-videos .hlv-video-card .student-hlv-lesson-open { width:auto; height:auto; }
.student-hlv-reference .sofl-related-videos .hlv-video-card .student-hlv-lesson-action { width:38px; height:40px; }
.hlv-video-card .hlv-video-card-copy h3 { overflow-wrap:anywhere; }

.hlv-video-card-footer { margin:0 10px 8px; padding-top:12px; border-top:1px solid #dfe6ef; }
.hlv-video-card-difficulty { display:inline-flex; align-items:center; gap:9px; max-width:100%; margin-bottom:16px; padding:7px 12px; border-radius:8px; background:#e0f5e9; color:#085b38; font-size:14px; font-weight:600; line-height:1.4; overflow-wrap:anywhere; }
.hlv-video-card-difficulty i { flex:none; font-size:17px; }
@media(max-width:360px){
 .hlv-video-card .student-hlv-lesson-actions { gap:6px; }
 .hlv-video-card .student-hlv-lesson-action { flex-basis:32px; min-width:32px; width:32px; }
 .hlv-video-card .student-hlv-lesson-open { gap:6px; padding:11px 9px; font-size:13px; }
}
