/**
 * Lesson detail page styles (extracted from static-lesson-detail.php)
 */

/* === 0. Global === */
         :root {
            --eman-purple: #6a1b9a; 
            --eman-purple-light: #ab47bc; 
            --eman-accent: #00bcd4; 
            --eman-bg-light: #f8f9fe; 
            --eman-text-dark: #333;
            --eman-text-light: #555;
            --eman-border-light: #e0e0e0;
            --color-purple-1: var(--eman-purple); 
            --color-green-1: #00a896; 
         }

        body.eman-lesson-detail {
            font-family: 'Work Sans', 'Cairo', sans-serif;
            color: var(--eman-text-dark);
            line-height: 1.7;
            background-color: #fff;
        }

        html[dir="rtl"] body.eman-lesson-detail {
            direction: rtl;
            text-align: right;
            font-family: 'Cairo', 'Work Sans', sans-serif;
        }

        html[dir="ltr"] body.eman-lesson-detail {
            direction: ltr;
            text-align: left;
        }

        .rtl-text {
            font-family: 'Cairo', 'Work Sans', sans-serif;
            direction: rtl;
            text-align: right;
        }

        h1, h2, h3, h4, h5, h6 { font-weight: 700; color: var(--eman-purple); }
        h1 { font-size: 2.8rem; line-height: 1.3; }
        h2 { font-size: 2.2rem; margin-bottom: 1.5rem; }
        h3 { font-size: 1.5rem; margin-bottom: 0.75rem; }
        h4 { font-size: 1.25rem; }
        p { color: var(--eman-text-light); margin-bottom: 1rem; }
        a { color: var(--eman-purple-light); text-decoration: none; transition: color 0.3s ease; }
        a:hover { color: var(--eman-purple); }
        .eman-lesson-detail .content-wrapper .button { transition: all 0.3s ease; }
        .eman-lesson-detail .content-wrapper .button.-purple-1 { background-color: var(--eman-purple); border-color: var(--eman-purple); color: #fff; }
        .eman-lesson-detail .content-wrapper .button.-purple-1:hover { background-color: var(--eman-purple-light); border-color: var(--eman-purple-light); color: #fff; }
        .eman-lesson-detail .content-wrapper .button.-green-1 { background-color: var(--color-green-1); border-color: var(--color-green-1); color: #fff; }
        .eman-lesson-detail .content-wrapper .button.-green-1:hover { background-color: #008778; border-color: #008778; color: #fff; }

        .eman-lesson-detail .content-wrapper .lucide-icon { 
            display: inline-block;
            vertical-align: middle;
            margin-bottom: 3px;
        }

        /* === 1. Preloader === */
        .preloader.js-preloader .preloader__bg {
            display: flex;
            align-items: center;
            justify-content: center;
            background-color: var(--eman-purple); 
        }
        .logo-loading-wrapper {
            position: relative;
            width: 120px;
            height: 120px;
            display: flex;
            align-items: center;
            justify-content: center;
        }
        .loading-ring {
            position: absolute;
            width: 100%;
            height: 100%;
            border: 8px solid rgba(255, 255, 255, 0.2);
            border-top-color: #ffffff;
            border-radius: 50%;
            animation: spin 1.5s linear infinite;
        }
        @keyframes spin { to { transform: rotate(360deg); } }
        .platform-logo {
            max-width: 80px;
            height: auto;
        }
        
        /* === 2. New Lesson Hero Section === */
        .lesson-hero-section {
            background-color: var(--eman-bg-light);
            border-bottom: 1px solid var(--eman-border-light);
            position: relative;
            overflow: hidden;
        }
        .lesson-hero-section::before {
            content: '';
            position: absolute;
            top: 0; left: 0; right: 0; bottom: 0;
            background-image: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23e9eaf2' fill-opacity='0.4'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
            opacity: 0.6;
            z-index: 1;
        }
        .eman-lesson-detail .lesson-hero-section.eman-lesson-hero::before {
            display: none;
        }
        .lesson-hero-section .container {
            position: relative;
            z-index: 2;
        }
        .lesson-breadcrumbs {
            font-size: 0.9rem;
            color: var(--eman-text-light);
        }
        .lesson-breadcrumbs a {
            color: var(--eman-purple-light);
        }
        .lesson-breadcrumbs a:hover {
            color: var(--eman-purple);
        }
        .lesson-breadcrumbs span {
            color: var(--eman-text-dark);
        }
        .lesson-hero-section h1 {
            color: var(--eman-purple);
        }
        .lesson-instructor-info {
            display: flex;
            align-items: center;
            gap: 10px;
            margin-top: 20px;
        }
        .lesson-instructor-info img {
            width: 40px;
            height: 40px;
            border-radius: 50%;
            object-fit: cover;
        }
        .lesson-stats-grid {
            margin-top: 30px;
            display: grid;
            grid-template-columns: repeat(2, 1fr);
            gap: 20px;
        }
        .lesson-stat-item {
            display: flex;
            align-items: center;
            gap: 12px;
            background-color: rgba(255,255,255,0.6);
            padding: 12px;
            border-radius: 8px;
            border: 1px solid var(--eman-border-light);
        }
        .lesson-stat-item .lucide-icon {
            color: var(--eman-purple-light);
            width: 20px; height: 20px;
            stroke-width: 2.5;
            flex-shrink: 0;
        }
        .lesson-stat-item-content h5 {
            font-size: 0.9rem;
            color: var(--eman-text-light);
            font-weight: 500;
            margin: 0;
            line-height: 1.3;
        }
        .lesson-stat-item-content p {
            font-size: 1rem;
            color: var(--eman-text-dark);
            font-weight: 600;
            margin: 0;
            line-height: 1.3;
        }

        /* === 3. New Purchase Card (Sticky) === */
        .lesson-purchase-card {
            background-color: #fff;
            border: 1px solid var(--eman-border-light);
            border-radius: 12px;
            box-shadow: 0 10px 30px rgba(0,0,0,0.07);
            padding: 20px;
            position: sticky;
            top: 100px; 
        }
        .lesson-purchase-card-thumbnail {
            width: 100%;
            border-radius: 8px;
            margin-bottom: 20px;
            position: relative;
            overflow: hidden;
        }
        .lesson-purchase-card-thumbnail img {
            width: 100%;
            height: auto;
            display: block;
        }
        .lesson-purchase-card-price {
            display: flex;
            justify-content: space-between;
            align-items: baseline;
            margin-bottom: 20px;
        }
        .lesson-purchase-card-price .final-price {
            font-size: 2rem;
            font-weight: 700;
            color: var(--eman-purple);
        }
        .lesson-purchase-card-price .original-price {
            font-size: 1.1rem;
            color: var(--eman-text-light);
            text-decoration: line-through;
        }
        .lesson-purchase-card .button {
            width: 100%;
            font-size: 1.1rem;
            padding: 15px;
            position: relative;
            min-height: 58px; 
        }
        
        .button-loader-spinner {
             position: absolute;
             top: 50%; left: 50%;
             transform: translate(-50%, -50%);
             width: 24px; height: 24px;
             border: 3px solid rgba(255, 255, 255, 0.3);
             border-top-color: #fff;
             border-radius: 50%;
             animation: spin 1s linear infinite;
        }
        .lesson-purchase-card .button .lucide-icon {
            width: 20px;
            height: 20px;
            margin-right: 10px;
        }
        .lesson-purchase-card-guarantee {
            font-size: 0.9rem;
            color: var(--eman-text-light);
            text-align: center;
            margin-top: 15px;
        }
        
        /* [!!!] (جديد 1) ستايل الـ Alert المطور */
        #purchase-alert-box {
             display: none; /* Hidden by default */
             padding: 15px;
             border-radius: 8px;
             font-family: 'Cairo', 'Work Sans', sans-serif;
             margin-top: 15px;
             text-align: start;
             /* (جديد) */
             display: flex;
             align-items: center;
             gap: 10px;
             font-weight: 500;
             font-size: 0.95rem;
        }
        #purchase-alert-box .lucide-icon {
            flex-shrink: 0;
            width: 20px;
            height: 20px;
        }
        #purchase-alert-box.alert-danger {
             background-color: #fbebee;
             border: 1px solid #f4c7c7;
             color: #c0392b;
        }
        #purchase-alert-box.alert-success {
             background-color: #e8f5e9;
             border: 1px solid #c8e6c9;
             color: #2e7d32;
        }
        /* (إخفاء العنصر بدلاً من display:none) */
        #purchase-alert-box:not(.alert-danger):not(.alert-success) {
            display: none;
        }


        /* === 4. New Lesson Content Section === */
        .lesson-content-section {
             padding: 80px 0;
        }
        .lesson-content-section h2 {
             border-bottom: 2px solid var(--eman-purple-light);
             padding-bottom: 10px;
             display: inline-block;
        }
        .lesson-content-box {
             margin-bottom: 60px;
        }
        .lesson-content-box .text-content {
             font-size: 1.05rem;
             color: var(--eman-text-dark);
             line-height: 1.8;
        }
        .lesson-content-box .text-content p,
        .lesson-content-box .text-content li {
             font-family: 'Cairo', 'Work Sans', sans-serif;
             direction: rtl;
             text-align: right;
        }

        .lesson-feature-list {
             list-style: none;
             padding-left: 0;
             margin-top: 30px;
             display: grid;
             grid-template-columns: repeat(2, 1fr);
             gap: 15px;
        }
        .lesson-feature-list li {
             display: flex;
             align-items: flex-start;
             gap: 12px;
             font-size: 1rem;
             color: var(--eman-text-dark);
             background-color: var(--eman-bg-light);
             padding: 15px;
             border-radius: 8px;
        }
        .lesson-feature-list .lucide-icon {
             color: var(--eman-purple);
             width: 20px;
             height: 20px;
             flex-shrink: 0;
             margin-top: 3px;
        }
        
        /* [!!!] (جديد 2) ستايل الأكورديون (من صفحة watch) */
        .lesson-accordion .accordion__item {
             border: 1px solid var(--eman-border-light);
             border-radius: 8px;
             margin-bottom: 10px;
             overflow: hidden;
             box-shadow: 0 5px 20px rgba(0,0,0,0.03);
        }
        .lesson-accordion .accordion__button {
             padding: 20px 25px;
             background-color: #fff;
             width: 100%;
             display: flex;
             justify-content: space-between;
             align-items: center;
             transition: background-color 0.3s ease;
        }
        .lesson-accordion .accordion__button:hover {
             background-color: var(--eman-bg-light);
        }
        .lesson-accordion .accordion__title {
             font-size: 1.1rem;
             font-weight: 600;
             color: var(--eman-purple);
             font-family: 'Cairo', 'Work Sans', sans-serif;
        }
        html[dir="rtl"] .lesson-accordion .accordion__title {
             direction: rtl;
             text-align: right;
        }
        html[dir="ltr"] .lesson-accordion .accordion__title {
             direction: ltr;
             text-align: left;
        }
        .lesson-accordion .accordion-meta {
             font-size: 0.9rem;
             color: var(--eman-text-light);
             font-family: 'Work Sans', sans-serif;
             flex-shrink: 0;
             margin-inline-start: 15px;
        }
        .lesson-accordion .accordion__icon {
             color: var(--eman-purple-light);
             flex-shrink: 0;
        }
        .lesson-accordion .accordion__button.is-active .accordion__icon .icon-plus { display: none; }
        .lesson-accordion .accordion__button.is-active .accordion__icon .icon-minus { display: block; }
        .lesson-accordion .accordion__button:not(.is-active) .accordion__icon .icon-plus { display: block; }
        .lesson-accordion .accordion__button:not(.is-active) .accordion__icon .icon-minus { display: none; }
        
        .lesson-accordion .accordion__content {
             background-color: #fff;
             padding: 0;
        }
        .lesson-accordion .accordion__content__inner {
             padding: 0;
        }
        .lesson-accordion .content-item {
             display: flex;
             align-items: center;
             gap: 15px;
             padding: 18px 25px;
             border-top: 1px solid #f0f0f0;
             font-family: 'Work Sans', 'Cairo', sans-serif;
             font-size: 1rem;
             color: var(--eman-text-dark);
        }
        .lesson-accordion .content-item .lucide-icon {
            flex-shrink: 0;
            width: 20px;
            height: 20px;
            color: var(--eman-purple-light);
        }
        .lesson-accordion .content-item-title {
            flex-grow: 1;
        }
        .lesson-accordion .content-item-meta {
            font-size: 0.9rem;
            color: var(--eman-text-light);
            margin-left: 0; /* (Reset margin) */
        }

        /* === 6. New Instructor Card === */
        /* [!!!] (جديد 2) تحسين كارت المدرس */
        .lesson-instructor-card {
             background-color: #fff; /* (أبيض) */
             border-radius: 12px;
             padding: 40px;
             border: 1px solid var(--eman-border-light);
             box-shadow: var(--shadow-md); /* (ظل) */
        }
        .lesson-instructor-card img {
             width: 100%;
             max-width: 200px;
             border-radius: 50%;
             margin: 0 auto 20px auto;
             display: block;
        }
        .lesson-instructor-card h3 {
             margin-bottom: 5px;
        }
        .lesson-instructor-card .job-title {
             font-size: 1rem;
             font-weight: 500;
             color: var(--eman-purple-light);
             margin-bottom: 15px;
        }
        .lesson-instructor-card .text-content p,
        .lesson-instructor-card .text-content li {
             font-family: 'Cairo', 'Work Sans', sans-serif;
             direction: rtl;
             text-align: right;
        }

        
        /* === 7. Lesson Card Styles (from Home) === */
        .latest-lessons-section {
             padding: 80px 0; 
             background-color: var(--eman-purple); 
        }
        .latest-lessons-section .sectionTitle {
             color: #fff;
        }
        .latest-lessons-section .sectionTitle.-light .sectionTitle__title,
        .latest-lessons-section .sectionTitle.-light .sectionTitle__text { 
             color: #fff; 
        }
        .lesson-card {
             border: 1px solid #e0e0e0;
             border-radius: 10px;
             overflow: hidden;
             background-color: #fff;
             box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
             transition: all 0.3s ease;
             height: 100%; 
             display: flex;
             flex-direction: column;
        }
        .lesson-card:hover {
             transform: translateY(-5px);
             box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1);
        }
        .lesson-card-thumbnail {
             width: 100%;
             height: 200px;
             object-fit: cover;
             border-bottom: 1px solid #eee;
        }
        .lesson-card-content {
             padding: 20px;
             flex-grow: 1;
             display: flex;
             flex-direction: column;
        }
        .lesson-card-title {
             font-size: 1.15rem;
             font-weight: 600;
             color: var(--eman-purple);
             margin-bottom: 10px;
             min-height: 58px;
             display: -webkit-box;
             -webkit-line-clamp: 2;
             -webkit-box-orient: vertical;
             overflow: hidden;
             text-overflow: ellipsis;
        }
        .lesson-card-meta {
             display: flex;
             justify-content: space-between;
             align-items: center;
             font-size: 0.9rem;
             color: #777;
             margin-bottom: 15px;
        }
        .lesson-card-meta span {
             display: flex;
             align-items: center;
        }
        .lesson-card-meta .lucide-icon {
             width: 16px;
             height: 16px;
             stroke-width: 2;
             color: var(--eman-accent);
             margin-right: 5px;
        }
        .lesson-card-footer {
             border-top: 1px solid #eee;
             padding-top: 15px;
             margin-top: auto; 
             display: flex;
             justify-content: space-between;
             align-items: center;
        }
        .lesson-card-price {
             font-size: 1.2rem;
             font-weight: 700;
             color: var(--eman-purple);
             display: flex;
             align-items: center;
             gap: 5px;
        }
        .lesson-card-price .original-price {
             text-decoration: line-through;
             color: #999;
             font-size: 0.9rem;
             font-weight: 400;
        }
        .lesson-card-price .badge-free {
             background-color: var(--eman-accent);
             color: #fff;
             padding: 5px 10px;
             border-radius: 5px;
             font-size: 0.9rem;
             font-weight: 600;
        }
        .lesson-card-level {
             background-color: var(--eman-purple-light);
             color: #fff;
             padding: 5px 10px;
             border-radius: 5px;
             font-size: 0.85rem;
             font-weight: 500;
        }
        .lesson-card-badges {
             position: absolute;
             top: 10px;
             left: 10px; /* LTR */
             display: flex;
             gap: 8px;
             z-index: 1;
        }
        .lesson-card-badges .badge {
             background-color: var(--eman-accent);
             color: #fff;
             padding: 5px 10px;
             border-radius: 5px;
             font-size: 0.8rem;
             font-weight: 500;
        }
        .lesson-card-badges .badge.badge-new { background-color: #ff9800; }
        .lesson-card-badges .badge.badge-sale { background-color: #e91e63; }
        
        /* === 8. Responsive === */
        @media (max-width: 991px) {
             h1 { font-size: 2.2rem; }
             h2 { font-size: 1.8rem; }
             .lesson-hero-section {
                 padding-top: 60px;
                 padding-bottom: 60px;
             }
             .lesson-purchase-card {
                 margin-top: 40px;
                 position: static; /* Un-stick the card on mobile */
             }
             .lesson-feature-list {
                 grid-template-columns: 1fr; /* Single column */
             }
             .lesson-instructor-card {
                 text-align: center;
             }
        }
        @media (max-width: 767px) {
             .lesson-stats-grid {
                 grid-template-columns: 1fr; /* Single column */
             }
             .lesson-content-section {
                 padding: 60px 0;
             }
             .lesson-content-box {
                 margin-bottom: 40px;
             }
             .lesson-accordion .accordion__button {
                 flex-direction: column;
                 align-items: flex-start;
                 gap: 5px;
             }
        }
        
        /* [NEW] Lucide icon stroke width adjustment */
        .str-width-2 {
             stroke-width: 2px;
        }
        .size-14 {
             width: 14px;
             height: 14px;
        }
        .size-16 {
             width: 16px;
             height: 16px;
        }
        
        /* === 11. Mismatch Error Card Style === */
        .error-card-box {
             background-color: #fff;
             border: 1px solid var(--eman-border-light);
             border-radius: 12px;
             padding: 50px 40px; 
             box-shadow: 0 10px 30px rgba(0,0,0,0.07);
             text-align: center; 
        }
        .error-card-icon {
             color: var(--eman-purple-light);
             margin-bottom: 25px; 
        }
        .error-card-icon .lucide-icon {
             width: 64px; 
             height: 64px;
             stroke-width: 1.5;
        }
        .error-card-box h1 {
             margin-bottom: 15px; 
        }
        .error-card-box p {
             font-size: 1.1rem; 
             line-height: 1.7;
             text-align: center;
             color: var(--eman-text-dark);
             font-family: 'Cairo', 'Work Sans', sans-serif;
        }
        .error-card-box .button-group {
             margin-top: 35px; 
        }
        .error-card-box .button {
             font-family: 'Cairo', 'Work Sans', sans-serif;
        }

        @media (max-width: 767px) {
             .error-card-box {
                 padding: 40px 25px; 
             }
             .error-card-icon .lucide-icon {
                 width: 50px;
                 height: 50px;
             }
             .error-card-box h1 {
                 font-size: 1.8rem; 
             }
              .error-card-box p {
                 font-size: 1rem; 
             }
             .error-card-box .button-group {
                 flex-direction: column;
                 gap: 15px;
             }
             .error-card-box .button-group a {
                 width: 100%; 
             }
        }

/* === Dark mode (lesson detail) — see lesson-detail-dark.css === */
html.-dark-mode body.eman-lesson-detail {
    background-color: var(--eman-bg-light, #0f1319);
    color: var(--eman-text-dark, #eef1f6);
}

.lesson-coupon-field {
    padding: 16px;
    border-radius: 12px;
    background: linear-gradient(135deg, rgba(106, 27, 154, 0.06) 0%, rgba(106, 27, 154, 0.02) 100%);
    border: 1px dashed rgba(106, 27, 154, 0.25);
}

.lesson-coupon-field__label {
    display: block;
    margin: 0 0 10px;
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--eman-purple);
}

.lesson-coupon-field__group {
    display: flex;
    align-items: stretch;
    gap: 0;
    border-radius: 10px;
    overflow: hidden;
    border: 1px solid var(--eman-border-light);
    background: #fff;
    box-shadow: 0 2px 8px rgba(106, 27, 154, 0.06);
}

.lesson-coupon-field__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 44px;
    color: var(--eman-purple);
    background: rgba(106, 27, 154, 0.06);
    border-inline-end: 1px solid var(--eman-border-light);
}

.lesson-coupon-field__icon .lucide-icon {
    width: 18px;
    height: 18px;
}

.lesson-coupon-field__input {
    flex: 1;
    min-width: 0;
    min-height: 44px;
    padding: 0 14px;
    border: none;
    background: transparent;
    font-size: 0.95rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--eman-text-dark);
}

.lesson-coupon-field__input:focus {
    outline: none;
    box-shadow: inset 0 0 0 2px rgba(106, 27, 154, 0.15);
}

.lesson-coupon-field__input::placeholder {
    text-transform: none;
    font-weight: 400;
    letter-spacing: normal;
    color: #94a3b8;
}

.lesson-coupon-field__btn {
    flex-shrink: 0;
    min-height: 44px;
    padding: 0 18px;
    border: none;
    border-inline-start: 1px solid var(--eman-border-light);
    background: var(--eman-purple);
    color: #fff;
    font-size: 0.88rem;
    font-weight: 700;
    cursor: pointer;
    transition: background-color 0.2s ease, opacity 0.2s ease;
}

.lesson-coupon-field__btn:hover:not(:disabled) {
    background: var(--eman-purple-light);
}

.lesson-coupon-field__btn:disabled {
    opacity: 0.65;
    cursor: not-allowed;
}

.lesson-coupon-field__feedback {
    margin: 10px 0 0;
    padding: 8px 12px;
    border-radius: 8px;
    font-size: 0.88rem;
    line-height: 1.45;
}

.lesson-coupon-field__feedback.is-success {
    color: var(--color-green-1);
    background: rgba(0, 168, 150, 0.08);
    border: 1px solid rgba(0, 168, 150, 0.2);
}

.lesson-coupon-field__feedback.is-error {
    color: #dc2626;
    background: rgba(220, 38, 38, 0.06);
    border: 1px solid rgba(220, 38, 38, 0.18);
}

@media (max-width: 575px) {
    .lesson-coupon-field__group {
        flex-direction: column;
        overflow: visible;
    }

    .lesson-coupon-field__icon {
        display: none;
    }

    .lesson-coupon-field__input {
        border-bottom: 1px solid var(--eman-border-light);
        border-radius: 10px 10px 0 0;
    }

    .lesson-coupon-field__btn {
        width: 100%;
        border-inline-start: none;
        border-radius: 0 0 10px 10px;
    }
}

/* Coupon dark styles — lesson-detail-dark.css */

.lesson-rating-stars {
    display: flex;
    flex-direction: row-reverse;
    justify-content: flex-end;
    gap: 6px;
}

.lesson-rating-star {
    cursor: pointer;
    color: #cbd5e1;
}

.lesson-rating-star input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.lesson-rating-star:has(input:checked),
.lesson-rating-star:has(~ .lesson-rating-star input:checked),
.lesson-rating-star:hover,
.lesson-rating-star:hover ~ .lesson-rating-star {
    color: #f59e0b;
}

.help-guide-steps ol {
    text-align: start;
    padding-inline-start: 1.25rem;
    margin: 0;
}

.help-guide-steps li {
    margin-bottom: 0.35rem;
    line-height: 1.5;
}