.course-detail{padding:26px 0 80px;background:#fff;color:#202b3c}.course-detail,.course-detail *{box-sizing:border-box}.course-breadcrumb{display:flex;align-items:center;gap:9px;margin:0 0 22px;color:#8a94a6;font-size:12px}.course-breadcrumb a{color:#687387}.course-title{margin:0 0 14px;color:#1265e8;font-size:22px;font-weight:900}.course-video{position:relative;overflow:hidden;border-radius:18px;box-shadow:0 10px 25px rgba(15,47,92,.14);aspect-ratio:16/9;background:#dbe8f3}.course-video img{width:100%;height:100%;object-fit:cover}.course-play{position:absolute;inset:50% auto auto 50%;translate:-50% -50%;width:58px;height:58px;border:0;border-radius:50%;color:#fff;background:rgba(255,255,255,.34);backdrop-filter:blur(7px);box-shadow:0 0 0 8px rgba(255,255,255,.16)}.course-summary,.course-teacher{border:1px solid #dce6f4;border-radius:16px;background:#fff;box-shadow:0 6px 20px rgba(37,78,135,.06)}.course-summary{padding:22px}.course-label{color:#1265e8;font-size:12px}.course-summary h2{font-size:20px;font-weight:900;margin:7px 0 14px}.course-tags{display:flex;flex-wrap:wrap;gap:6px}.course-tags span{padding:5px 9px;border-radius:20px;background:#eef5ff;color:#3474d5;font-size:10px}.course-facts{padding:12px 0;margin:12px 0;border-top:1px solid #edf1f6;list-style:none}.course-facts li{display:grid;grid-template-columns:24px 1fr auto;align-items:center;padding:7px 0;font-size:12px}.course-facts i{color:#1871f2}.course-cta{display:flex;justify-content:center;align-items:center;width:100%;min-height:44px;border:0!important;border-radius:9px!important;color:#fff!important;background:#0869f5!important;font-weight:800;box-shadow:0 8px 18px rgba(8,105,245,.2)}.course-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0}.course-stats div{padding:14px 4px;text-align:center;border:1px solid #dfe7f1;border-radius:12px}.course-stats strong,.course-stats span{display:block}.course-stats strong{font-size:21px}.course-stats span{color:#7d8798;font-size:9px}.course-teacher{display:flex;align-items:center;gap:12px;padding:14px}.teacher-avatar,.comment-avatar{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border-radius:50%;color:#2975e7;background:#eaf3ff}.course-teacher div{display:flex;flex:1;flex-direction:column}.course-teacher small{color:#8993a3}.course-tabs{display:flex;gap:0;overflow:auto;margin:35px 0 28px;border:1px solid #e1e8f1;border-radius:13px;box-shadow:0 5px 15px rgba(20,54,95,.05)}.course-tabs a{position:relative;flex:1;min-width:120px;padding:15px;text-align:center;color:#627087;font-size:12px;font-weight:700}.course-tabs a.active{color:#1265e8;background:#f1f6ff}.course-tabs a.active:after{content:"";position:absolute;right:20%;bottom:0;left:20%;height:3px;border-radius:3px;background:#1265e8}.course-section{margin-bottom:36px;scroll-margin-top:30px}.course-section h2{position:relative;margin:0 0 16px;padding-right:16px;font-size:19px;font-weight:900}.course-section h2:before{content:"";position:absolute;right:0;top:7px;width:7px;height:7px;border-radius:2px;background:#1470f5;box-shadow:9px 0 0 #8cbcff}.course-section p{color:#697386;font-size:13px;line-height:2.15}.section-note{margin-top:-10px!important;color:#9aa3b1!important}.learn-list{margin:0;padding:0;list-style:none}.learn-list li{position:relative;padding:6px 25px 6px 0;color:#5e6879;font-size:13px}.learn-list li:before{content:"\f058";position:absolute;right:0;color:#7d8999;font-family:"Font Awesome 5 Pro"}.chapter-list{overflow:hidden;border:1px solid #a9cbfa;border-radius:12px}.chapter-list details+details{border-top:1px solid #a9cbfa}.chapter-list summary{display:flex;justify-content:space-between;align-items:center;padding:15px 16px;cursor:pointer;color:#1766cf;background:#edf5ff;font-size:12px;font-weight:800;list-style:none}.chapter-list summary b{font-size:10px}.chapter-list details a{display:grid;grid-template-columns:22px 1fr auto;align-items:center;padding:11px 16px;border-top:1px solid #eef1f5;color:#657185;font-size:11px}.chapter-list details a i{color:#126cf0}.chapter-list time{color:#9ca5b2}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.feature-grid span{display:flex;align-items:center;gap:10px;color:#586578;font-size:12px}.feature-grid i{font-size:19px;color:#2a75e7}.download-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.download-grid a{display:grid;grid-template-columns:42px 1fr auto;align-items:center;padding:13px 18px;border-radius:12px;color:#fff;background:#0869f5;box-shadow:0 8px 18px rgba(8,105,245,.2)}.download-grid i{font-size:26px}.download-grid span{font-weight:800}.download-grid small{padding:3px 6px;border-radius:5px;background:rgba(255,255,255,.18)}.comment{display:flex;gap:13px;margin-bottom:12px;padding:16px;border:1px solid #dfe6ef;border-radius:13px}.comment>div{flex:1}.comment header{display:flex;justify-content:space-between}.comment header time{color:#9aa2af;font-size:10px}.comment p{margin:8px 0 0;font-size:12px}.comment-form textarea{margin:18px 0 10px;border-color:#dfe6ef;border-radius:12px}.comment-form .course-cta{width:auto;padding:0 30px}@media(max-width:991.98px){.course-summary{margin-top:4px}.course-tabs{margin-top:26px}.course-detail>.container>.row:last-child>.col-lg-8{width:100%}}@media(max-width:767.98px){.course-detail{padding-top:16px}.course-title{font-size:18px}.course-video{border-radius:12px}.course-summary{padding:17px}.course-tabs{justify-content:flex-start}.course-tabs a{flex:0 0 auto}.feature-grid{grid-template-columns:1fr 1fr}.download-grid{grid-template-columns:1fr}.course-section{margin-bottom:30px}.comment{padding:13px}.comment-avatar{flex-basis:34px;width:34px;height:34px}}@media(max-width:420px){.feature-grid{grid-template-columns:1fr}.course-stats{gap:5px}}
.course-playing {
    position: absolute; right: 18px; bottom: 18px; left: 18px;
    display: flex; align-items: center; gap: 9px; padding: 11px 14px;
    border-radius: 10px; color: #fff; background: rgba(5, 28, 65, .76);
    opacity: 0; transform: translateY(8px); transition: .25s;
}
.course-playing i { color: #66a4ff; font-size: 20px; }
.course-video { cursor: pointer; }
.course-play { transition: .25s; }
.course-video.is-playing .course-play { opacity: 0; transform: scale(.7); }
.course-video.is-playing .course-playing { opacity: 1; transform: none; }
.course-side-files { margin-top: 18px; padding: 18px; border: 1px solid #dce6f4; border-radius: 16px; background: #fff; box-shadow: 0 6px 20px rgba(37, 78, 135, .06); }
.course-side-files h2 { margin: 0 0 13px; font-size: 15px; font-weight: 900; }
.course-side-files .download-grid { grid-template-columns: 1fr; gap: 10px; }
.course-side-files .download-grid a { padding: 11px 13px; }
.chapter-list summary { position: relative; padding-left: 44px; }
.chapter-list summary::after { content: "\f107"; position: absolute; left: 17px; font-family: "Font Awesome 5 Pro"; font-size: 15px; transition: transform .2s; }
.chapter-list details[open] summary::after { transform: rotate(180deg); }
.chapter-list details a,
.chapter-list .lesson-link { display: grid; width: 100%; grid-template-columns: 20px 1fr 85px auto; align-items: center; padding: 11px 16px; border: 0; border-top: 1px solid #eef1f5; text-align: right; color: #657185; background: #fff; font-family: inherit; font-size: 11px; cursor: pointer; }
.chapter-list .lesson-link i { color: #126cf0; }
.chapter-list .lesson-link:hover,
.chapter-list .lesson-link.active { color: #1265e8; background: #f5f9ff; }
.chapter-list .lesson-link.active { box-shadow: inset -3px 0 #1265e8; }
@media (max-width: 991.98px) {
    .course-playing { right: 10px; bottom: 10px; left: 10px; font-size: 11px; }
    .course-side-files { margin-bottom: 20px; }
}

/* Course page refinements based on the supplied reference */
.course-video video {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    background: #dbe8f3;
}
.course-video .course-play {
    z-index: 3;
    cursor: pointer;
}
.course-video.is-playing .course-play,
.course-video.video-started .course-play {
    opacity: 0;
    pointer-events: none;
}
.course-video.video-started .course-playing {
    opacity: 0;
    pointer-events: none;
}
.course-summary-head {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    margin-bottom: 14px;
}
.course-summary-icon {
    display: grid;
    place-items: center;
    width: 58px;
    height: 58px;
    margin-bottom: 8px;
    border-radius: 50%;
    color: #1265e8;
    background: #eef5ff;
    font-size: 28px;
}
.course-summary-head .course-label {
    display: block;
    margin-bottom: 2px;
}
.course-summary-head h2 {
    margin: 2px 0 4px;
    text-align: center;
}
.course-summary-subtitle {
    margin: 0;
    color: #7d8798;
    font-size: 11px;
    line-height: 1.9;
}
.course-summary .course-tags {
    justify-content: center;
}

/* v3: final course layout â€” sticky info sidebar + video/tabs/content column */
.course-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(300px, 360px);
    gap: 28px;
    align-items: start;
    direction: ltr;
}
.course-main-column,
.course-sidebar { direction: rtl; min-width: 0; }
.course-sidebar-sticky {
    position: -webkit-sticky;
    position: sticky;
    top: 112px;
    align-self: start;
}
.course-summary { padding: 20px; }
.course-summary-head {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    gap: 12px;
    text-align: right;
    margin-bottom: 15px;
}
.course-summary-icon {
    flex: 0 0 54px;
    width: 54px;
    height: 54px;
    margin: 0;
    border-radius: 50%;
    display: grid;
    place-items: center;
    color: #1265e8;
    background: #eef5ff;
    font-size: 25px;
}
.course-summary-title-wrap { min-width: 0; }
.course-summary-title-wrap .course-label { display: block; margin-bottom: 1px; }
.course-summary-title-wrap h2 { margin: 0; text-align: right; font-size: 20px; }
.course-summary .course-tags { justify-content: flex-start; margin-bottom: 12px; }
.course-summary .course-facts { margin: 0 0 12px; padding: 12px 0; border-top: 1px solid #edf1f6; border-bottom: 1px solid #edf1f6; }
.course-summary-text { margin: 0 0 16px; color: #6f7a8b; font-size: 11px; line-height: 2.05; }
.package-includes {
    margin-top: 15px;
    padding: 17px;
    border: 1px solid #dce6f4;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 6px 20px rgba(37,78,135,.06);
}
.package-includes h3 { margin: 0 0 12px; color: #293548; font-size: 14px; font-weight: 900; }
.package-includes .course-stats { margin: 0; }
.package-includes .course-stats div { padding: 12px 4px; }
.course-main-column .course-tabs { margin: 22px 0 28px; }
.course-main-column .course-title { margin-bottom: 14px; }
.course-video { cursor: default; }
.course-video video { width: 100%; height: 100%; object-fit: cover; display: block; }
.course-video.video-started .course-play { opacity: 0; pointer-events: none; }
.course-video .course-play { z-index: 4; }

@media (max-width: 991.98px) {
    .course-layout { display: flex; flex-direction: column; gap: 22px; direction: rtl; }
    .course-main-column, .course-sidebar { width: 100%; }
    .course-main-column { order: 1; }
    .course-sidebar { order: 2; }
    .course-sidebar-sticky { position: static; }
    .course-summary-head { justify-content: flex-start; }
}

/* v4: reliable sticky sidebar, instructor card, accordion motion and paged comments */
html, body {
    overflow-x: clip !important;
}
.course-detail,
.course-detail > .container,
.course-layout,
.course-sidebar {
    overflow: visible !important;
}
.course-sidebar {
    align-self: stretch;
    position: relative;
}
.course-sidebar-sticky {
    position: -webkit-sticky !important;
    position: sticky !important;
    top: 104px !important;
    z-index: 5;
    align-self: start;
}
.course-instructor-card {
    margin-top: 15px;
    padding: 17px;
    border: 1px solid #dce6f4;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 6px 20px rgba(37,78,135,.06);
}
.course-instructor-head {
    display: flex;
    align-items: center;
    gap: 11px;
    margin-bottom: 10px;
}
.course-instructor-avatar {
    display: grid;
    place-items: center;
    flex: 0 0 48px;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    color: #1265e8;
    background: #eef5ff;
    font-size: 22px;
}
.course-instructor-head small {
    display: block;
    margin-bottom: 1px;
    color: #8a94a6;
    font-size: 10px;
}
.course-instructor-head h3 {
    margin: 0;
    color: #253247;
    font-size: 14px;
    font-weight: 900;
}
.course-instructor-card p {
    margin: 0 0 10px !important;
    color: #6f7a8b;
    font-size: 10.5px;
    line-height: 2;
}
.course-instructor-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #1265e8;
    font-size: 11px;
    font-weight: 800;
}

.chapter-list details {
    overflow: hidden;
}
.chapter-list details.animating {
    overflow: hidden;
}
.chapter-list summary::after {
    transition: transform .3s ease;
}
.chapter-list details[open] summary::after {
    transform: rotate(180deg);
}

.comments-list .comment {
    transition: opacity .28s ease, transform .28s ease;
}
.comments-list .comment.comment-hidden {
    display: none;
}
.comments-list .comment.comment-reveal {
    animation: commentReveal .32s ease both;
}
@keyframes commentReveal {
    from { opacity: 0; transform: translateY(8px); }
    to { opacity: 1; transform: translateY(0); }
}
.comments-more {
    display: none;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-width: 150px;
    height: 42px;
    margin: 15px auto 2px;
    padding: 0 20px;
    border: 1px solid #cfe0fa;
    border-radius: 10px;
    color: #1265e8;
    background: #f4f8ff;
    font-family: inherit;
    font-size: 11px;
    font-weight: 800;
    cursor: pointer;
    transition: background .2s ease, border-color .2s ease, transform .2s ease;
}
.comments-more:hover {
    background: #eaf2ff;
    border-color: #aecaef;
    transform: translateY(-1px);
}
.comments-more.is-visible { display: flex; }

@media (max-width: 991.98px) {
    html, body { overflow-x: hidden !important; }
    .course-sidebar-sticky { position: static !important; top: auto !important; }
}

/* v5: sidebar quick files, price panel and two-tone package stats */
.course-summary-head {
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    text-align: right !important;
}
.course-summary-icon { margin: 0 !important; }
.course-summary-title-wrap { display: flex; flex-direction: column; justify-content: center; }
.course-summary-title-wrap h2 { margin: 0 !important; text-align: right !important; }

/* course-facts was intentionally removed from course.html */
.course-quick-links {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 9px;
    margin: 12px 0 14px;
}
.course-quick-link {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-height: 40px;
    padding: 8px 10px;
    border: 1px solid #d9e5f6;
    border-radius: 10px;
    color: #1769df;
    background: #f7faff;
    font-size: 10.5px;
    font-weight: 800;
    transition: .2s ease;
}
.course-quick-link i { font-size: 17px; }
.course-quick-link:hover {
    color: #0d5fd5;
    background: #edf5ff;
    border-color: #bcd5fa;
    transform: translateY(-1px);
}
.course-price-box {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    min-height: 46px;
    margin: 0 0 10px;
    padding: 10px 13px;
    border: 1px solid #e0e4e9;
    border-radius: 9px;
    color: #626d7c;
    background: #f0f1f3;
    font-size: 10.5px;
}
.course-price-box strong {
    color: #303a47;
    font-size: 12px;
    font-weight: 900;
    white-space: nowrap;
}

.package-includes .course-stats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 9px;
}
.package-includes .course-stats > div {
    overflow: hidden;
    padding: 0 !important;
    border: 1px solid #d7e4f7;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 4px 12px rgba(29, 91, 175, .05);
}
.package-includes .course-stats strong {
    display: grid;
    place-items: center;
    min-height: 58px;
    padding: 9px 4px;
    color: #263449;
    background: #fff;
    font-size: 22px;
    font-weight: 900;
}
.package-includes .course-stats span {
    display: grid;
    place-items: center;
    min-height: 31px;
    padding: 7px 3px;
    color: #fff;
    background: #1265e8;
    font-size: 9px;
    font-weight: 800;
    line-height: 1.35;
}
@media (max-width: 420px) {
    .course-quick-links { grid-template-columns: 1fr; }
    .package-includes .course-stats { gap: 6px; }
}
