/* Single course page — mirrors LearnPress / Eduma single course (e.g. beginners-2x2-i) */

.page-course-single {
    font-family: "Open Sans", Roboto, system-ui, sans-serif;
    font-size: 15px;
    color: #555;
    background: #fff;
}

.page-course-single .nav-desktop a[aria-current="page"],
.page-course-single .nav-mobile a[aria-current="page"] {
    color: var(--yellow-dark);
}

/* Hero: category + title (title not forced uppercase like archive) */
.thim-top-heading--course-single .thim-top-heading__inner {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 12px;
}
.course-single-hero__category {
    margin: 0;
    font-family: "Open Sans", Roboto, system-ui, sans-serif;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: rgba(255, 255, 255, 0.92);
}
.thim-top-heading--course-single .thim-top-heading__title {
    text-transform: none;
    letter-spacing: 0.02em;
    font-size: clamp(22px, 4vw, 38px);
}

.course-single-wrap {
    padding: 44px 0 60px;
}
.course-single-wrap .container {
    max-width: 1170px;
}

.course-single-row {
    display: flex;
    flex-wrap: wrap;
    margin: 0 -15px;
    align-items: flex-start;
}
@media (min-width: 992px) {
    .course-single-row {
        align-items: stretch;
    }
    .course-single-sidebar {
        display: flex;
        flex-direction: column;
    }
}
.course-single-main {
    flex: 0 0 75%;
    max-width: 75%;
    padding: 0 15px 40px;
    box-sizing: border-box;
}
.course-single-sidebar {
    flex: 0 0 25%;
    max-width: 25%;
    padding: 0 15px;
    box-sizing: border-box;
}

@media (max-width: 991px) {
    .course-single-main,
    .course-single-sidebar {
        flex: 0 0 100%;
        max-width: 100%;
        padding-left: 0;
        padding-right: 0;
    }
}

/* Sidebar rail (same visual as courses archive) */
.page-course-single .course-sidebar-rail > .widget.widget_nav_menu:first-child {
    margin-top: 0;
}
.page-course-single .course-single-sidebar > .course-sidebar-sticky .course-sidebar-rail {
    --rail-content-inset: 16px;
    --rail-block-gap: calc(28px + 1.75rem);
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none;
    border-left: 1px solid #ccc;
    padding-left: var(--rail-content-inset);
    margin-left: 0;
    box-sizing: border-box;
}
.page-course-single .course-sidebar-rail .widget-title--rail {
    position: relative;
    display: block;
    font-family: "Roboto Slab", Georgia, serif;
    font-size: 15px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #111;
    margin: 0 0 14px;
    padding: 0;
    border-bottom: none;
    line-height: 1.25;
}
.page-course-single .course-sidebar-rail .widget-title--rail::before {
    content: "";
    position: absolute;
    left: calc(-1 * var(--rail-content-inset));
    top: 50%;
    transform: translateY(-50%);
    width: 6px;
    min-height: 1.1em;
    height: 1.1em;
    margin: 0;
    background: var(--yellow);
    border-radius: 0;
}

/* Lead: thumbnail + meta / purchase */
.course-single-lead {
    display: grid;
    grid-template-columns: minmax(0, 320px) minmax(0, 1fr);
    gap: 28px 32px;
    align-items: start;
    margin-bottom: 28px;
}
.course-single-thumb {
    aspect-ratio: 1;
    background: #eef2f0;
    overflow: hidden;
}
.course-single-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.course-single-intro-meta {
    display: flex;
    flex-direction: column;
    gap: 14px;
    font-size: 14px;
    color: #444;
}
.course-single-intro-meta label {
    display: block;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #888;
    margin-bottom: 4px;
}
.course-single-price-row {
    display: flex;
    align-items: baseline;
    gap: 8px;
    flex-wrap: wrap;
}
.course-single-price-row .course-price-free {
    font-size: 22px;
    font-weight: 800;
    color: var(--red-band);
}
.course-single-intro-meta .btn-register {
    display: inline-block;
    align-self: flex-start;
    margin-top: 4px;
    padding: 12px 28px;
    font-family: "Open Sans", Roboto, system-ui, sans-serif;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    text-decoration: none;
    color: #333;
    background: var(--yellow);
    border: none;
    border-radius: 0;
    cursor: pointer;
    transition: background 0.2s, color 0.2s;
}
.course-single-intro-meta .btn-register:hover {
    background: var(--yellow-dark);
    color: #222;
}

@media (max-width: 767px) {
    .course-single-lead {
        grid-template-columns: 1fr;
    }
}

.course-single-tagline {
    font-family: "Roboto Slab", Georgia, serif;
    font-size: 20px;
    font-weight: 700;
    color: #222;
    margin: 0 0 16px;
    line-height: 1.3;
}

.course-single-description {
    font-size: 15px;
    line-height: 1.7;
    color: #555;
    margin-bottom: 32px;
}
.course-single-description p {
    margin: 0 0 1em;
}
.course-single-description ul {
    margin: 0 0 1em 1.25em;
    padding: 0;
    list-style: disc;
}
.course-single-description ul li {
    margin-bottom: 0.35em;
}

.course-single-features {
    margin-bottom: 40px;
}
.course-single-features h3,
.course-single-related h3,
.course-single-comments h3 {
    font-family: "Roboto Slab", Georgia, serif;
    font-size: 18px;
    font-weight: 700;
    color: #1a1a1a;
    margin: 0 0 14px;
}
.course-single-features ul {
    list-style: none;
    margin: 0;
    padding: 0;
    border: 1px solid #e5e5e5;
    background: #fafafa;
}
.course-single-features li {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px 14px;
    padding: 12px 16px;
    border-bottom: 1px solid #e8e8e8;
    font-size: 14px;
}
.course-single-features li:last-child {
    border-bottom: none;
}
.course-single-features .course-feature-icon {
    flex: 0 0 28px;
    width: 28px;
    height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #e67e22;
}
.course-single-features .course-feature-icon svg {
    width: 22px;
    height: 22px;
    display: block;
}
.course-single-features li strong {
    flex: 1 1 auto;
    min-width: 5.5rem;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #777;
}
.course-single-features .course-feature-value {
    flex: 1 1 auto;
    min-width: 0;
    margin-left: auto;
    text-align: right;
    font-weight: 700;
    color: #333;
}

/* You May Like — same grid cards as courses archive (styles in courses-archive.css) */
.course-single-related {
    margin-bottom: 48px;
}
.course-single-related[data-course-view="grid"] .thim-course-grid {
    margin: 0 -15px;
}

/* Comments (static) */
.course-single-comments {
    padding-top: 8px;
    border-top: 1px solid #ebebeb;
}
.course-single-comments .comment-notes {
    font-size: 13px;
    color: #777;
    margin: 0 0 18px;
}
.course-comment-form .field {
    margin-bottom: 16px;
}
.course-comment-form label {
    display: block;
    font-size: 13px;
    font-weight: 700;
    color: #444;
    margin-bottom: 6px;
}
.course-comment-form label .required {
    color: #c92a2a;
}
.course-comment-form input[type="text"],
.course-comment-form input[type="email"],
.course-comment-form textarea {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    padding: 10px 12px;
    font-family: inherit;
    font-size: 14px;
    border: 1px solid #ccc;
    border-radius: 0;
}
.course-comment-form textarea {
    min-height: 120px;
    resize: vertical;
}
.course-comment-form .form-submit {
    margin-top: 8px;
}
.course-comment-form .form-submit input {
    padding: 12px 24px;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #333;
    background: var(--yellow);
    border: none;
    cursor: pointer;
}
.course-comment-form .form-submit input:hover {
    background: var(--yellow-dark);
}

.course-single-back {
    display: inline-block;
    margin-top: 28px;
    font-weight: 700;
    font-size: 13px;
    text-transform: uppercase;
    color: var(--yellow-dark);
    text-decoration: none;
}
.course-single-back:hover {
    text-decoration: underline;
}
