    /* ================= Markdown Prose Styling ================= */
    .article-prose {
        background-color: var(--bs-light);
        border: 1px solid var(--bs-border-color);
        border-radius: 16px;
        padding: 2rem 1.5rem;
        box-shadow: 0 5px 20px rgba(10, 38, 71, 0.05);
    }

    @media (min-width: 768px) {
        .article-prose {
            padding: 3rem 3.5rem;
        }
    }

    #article-content {
        max-width: 720px;
        margin: 0 auto;
        font-size: clamp(1rem, 1rem + 0.4vw, 1.15rem);
        line-height: 1.9;
        color: var(--bs-dark);
        font-weight: 400;
    }

    #article-content>*:first-child {
        margin-top: 0;
    }

    #article-content>*:last-child {
        margin-bottom: 0;
    }

    /* Headings */
    #article-content h1,
    #article-content h2,
    #article-content h3,
    #article-content h4,
    #article-content h5,
    #article-content h6 {
        color: var(--bs-primary);
        font-weight: 700;
        line-height: 1.4;
        margin-top: 2.5rem;
        margin-bottom: 1rem;
    }

    #article-content h2 {
        font-size: 1.75rem;
        padding-bottom: 0.5rem;
        border-bottom: 2px solid var(--bs-border-color);
    }

    #article-content h3 {
        font-size: 1.4rem;
        color: var(--bs-secondary);
    }

    /* Links */
    #article-content a {
        color: var(--bs-primary);
        text-decoration: none;
        font-weight: 600;
        border-bottom: 1px solid var(--bs-success);
        transition: all 0.2s ease;
    }

    #article-content a:hover {
        color: var(--bs-success);
        border-bottom-color: var(--bs-success);
    }

    /* Lists */
    #article-content ul,
    #article-content ol {
        padding-left: 2rem;
        margin-bottom: 1.5rem;
    }

    .article-prose[dir="rtl"] #article-content ul,
    .article-prose[dir="rtl"] #article-content ol {
        padding-left: 0;
        padding-right: 2rem;
    }

    #article-content li {
        margin-bottom: 0.5rem;
    }

    #article-content ul li::marker {
        color: var(--bs-success);
    }

    /* Blockquotes */
    #article-content blockquote {
        margin: 1.5rem 0;
        padding: 1rem 1.5rem;
        border-left: 5px solid var(--bs-primary);
        background-color: var(--bs-info);
        border-radius: 0 8px 8px 0;
        color: var(--bs-secondary);
        font-style: italic;
    }

    .article-prose[dir="rtl"] #article-content blockquote {
        border-left: none;
        border-right: 5px solid var(--bs-primary);
        border-radius: 8px 0 0 8px;
    }

    #article-content blockquote p:last-child {
        margin-bottom: 0;
    }

    /* Images inside Markdown */
    #article-content img {
        max-width: 100%;
        height: auto;
        display: block;
        margin: 2rem auto;
        border-radius: 8px;
        border: 1px solid var(--bs-border-color);
        box-shadow: 0 4px 12px rgba(10, 38, 71, 0.1);
    }

    /* Code Blocks */
    #article-content pre {
        background-color: var(--bs-primary);
        color: var(--bs-light);
        padding: 1.5rem;
        border-radius: 8px;
        overflow-x: auto;
        margin: 1.5rem 0;
        font-size: 0.9rem;
        direction: ltr;
        text-align: left;
        border: 1px solid var(--bs-secondary);
    }

    #article-content pre code {
        background: none;
        padding: 0;
        font-size: inherit;
        color: inherit;
    }

    #article-content code {
        background-color: var(--bs-info);
        color: var(--bs-danger);
        padding: 0.2em 0.4em;
        margin: 0 2px;
        border-radius: 3px;
        font-size: 90%;
        direction: ltr;
        unicode-bidi: embed;
        border: 1px solid var(--bs-border-color);
    }

    /* ================= Tables Styling & Responsive ================= */
    #article-content table {
        width: 100%;
        border-collapse: collapse;
        margin: 0;
        font-size: 0.95rem;
        border: 1px solid var(--bs-border-color);
        border-radius: 8px;
        overflow: hidden;
    }

    #article-content th,
    #article-content td {
        border: 1px solid var(--bs-border-color);
        padding: 0.75rem 1rem;
        text-align: start;
        vertical-align: middle;
    }

    #article-content thead th {
        background-color: var(--bs-primary);
        color: var(--bs-light);
        border-bottom: 2px solid var(--bs-secondary);
        font-weight: 700;
    }

    #article-content tbody tr:nth-of-type(even) {
        background-color: var(--bs-info);
    }

    #article-content tbody tr:hover {
        background-color: rgba(201, 160, 62, 0.1);
    }

    /* ================= Table Scroll Wrapper (Drag & Touch) ================= */
    .table-scroll-wrapper {
        position: relative;
        max-width: 100%;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        margin: 1.5rem 0;
        scrollbar-width: none;
        /* إخفاء الشريط في فايرفوكس */
        -ms-overflow-style: none;
        /* إخفاء الشريط في IE و Edge */
        cursor: grab;
        /* مؤشر السحب */
        user-select: none;
        /* منع تحديد النص أثناء السحب بالماوس */
    }

    .table-scroll-wrapper:active {
        cursor: grabbing;
    }

    /* إخفاء شريط التمرير في Chrome و Safari و Opera */
    .table-scroll-wrapper::-webkit-scrollbar {
        display: none;
    }

    /* الجدول داخل الـ wrapper */
    .table-scroll-wrapper>table {
        min-width: max-content;
        width: 100%;
    }

    /* عبارة التنبيه العلوية للتمرير الأفقي */
    .table-container .table-hint-text {
        display: none;
        text-align: center;
        font-size: 0.85rem;
        color: var(--bs-secondary);
        margin: 0 0 0.5rem 0;
        font-weight: 600;
    }

    .table-container.has-overflow .table-hint-text {
        display: block;
        animation: fadeInHint 0.3s ease-in-out;
    }

    @keyframes fadeInHint {
        from {
            opacity: 0;
            transform: translateY(-5px);
        }

        to {
            opacity: 1;
            transform: translateY(0);
        }
    }

    /* ================= Video Overflow Fix ================= */
    .video-embed-wrapper {
        max-width: 100%;
        overflow: hidden;
    }

    .video-embed-wrapper .ratio {
        max-width: 100%;
    }

    .video-embed-wrapper iframe {
        width: 100% !important;
        height: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        border: 0;
    }

    main.col-lg-8 {
        min-width: 0;
    }

    /* ================= UI Components ================= */

    .toolbar-sticky {
        position: sticky;
        top: 1rem;
        z-index: 10;
        background: linear-gradient(to bottom, var(--bs-body-bg) 60%, transparent);
        padding-bottom: 10px;
    }

    .sidebar-sticky {
        position: sticky;
        top: 2rem;
    }

    .card {
        transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
    }

    .card:hover {
        transform: translateY(-3px);
        box-shadow: 0 8px 20px rgba(201, 160, 62, 0.15) !important;
        border-color: var(--bs-success) !important;
    }

    .card:hover .card-img-side {
        transform: scale(1.08);
    }

    .card-img-side {
        transition: transform 0.4s ease;
    }

    @media (max-width: 768px) {
        .article-prose {
            padding: 1.5rem 1rem;
        }

        .toolbar-sticky {
            top: 0;
            background: var(--bs-body-bg);
            padding: 10px 0;
            margin-bottom: 1rem;
            border-bottom: 1px solid var(--bs-border-color);
        }

        .sidebar-sticky {
            position: static;
        }
    }

    #article-content hr {
        border: 0;
        border-top: 1px solid transparent;
        background-color: transparent;
        margin: 2rem 0;
        height: 0;
        opacity: 0;
    }