﻿.blog-post-section {
    position: relative;
    padding: 60px 0 90px;
    background: #f8fafc;
    overflow: hidden;
}

.blog-post-section .grid-lines {
    position: absolute;
    inset: 0;
    background-image: linear-gradient(rgba(0, 0, 0, 0.025) 1px, transparent 1px), linear-gradient(90deg, rgba(0, 0, 0, 0.025) 1px, transparent 1px);
    background-size: 50px 50px;
    pointer-events: none;
    z-index: 0;
}

.blog-post-section .container {
    position: relative;
    z-index: 1;
}

/* Back button */
.back-to-blog {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: #475569;
    background: #fff;
    padding: 10px 20px;
    border-radius: 50px;
    font-weight: 600;
    font-size: 0.9rem;
    text-decoration: none;
    border: 1px solid #e2e8f0;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.04);
    transition: all 0.3s;
}

    .back-to-blog i {
        transition: transform 0.3s;
    }

    .back-to-blog:hover {
        background: var(--bs-primary);
        color: #fff;
        border-color: var(--bs-primary);
        box-shadow: 0 8px 20px rgba(var(--bs-primary-rgb), 0.3);
    }

        .back-to-blog:hover i {
            transform: translateX(4px);
        }

/* ===== Main Post Card ===== */
.blog-post-card {
    background: #fff;
    border-radius: 22px;
    overflow: hidden;
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.06);
    border: 1px solid rgba(0, 0, 0, 0.04);
    margin-top: 20px;
}

/* Image */
.blog-post-image {
    position: relative;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    background: #e2e8f0;
}

    .blog-post-image img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .blog-post-image .image-overlay {
        position: absolute;
        inset: 0;
        background: linear-gradient(to top, rgba(0, 0, 0, 0.65), transparent 60%);
    }

    .blog-post-image .post-badge {
        position: absolute;
        top: 20px;
        right: 20px;
        background: linear-gradient(135deg, #f59e0b, #ef4444);
        color: #fff;
        padding: 8px 16px;
        border-radius: 50px;
        font-size: 0.8rem;
        font-weight: 700;
        display: inline-flex;
        align-items: center;
        gap: 6px;
        box-shadow: 0 4px 15px rgba(239, 68, 68, 0.4);
    }

    .blog-post-image .post-meta-top {
        position: absolute;
        bottom: 20px;
        right: 20px;
        left: 20px;
        display: flex;
        flex-wrap: wrap;
        gap: 16px;
    }

        .blog-post-image .post-meta-top .meta-item {
            display: inline-flex;
            align-items: center;
            gap: 6px;
            color: #fff;
            font-size: 0.85rem;
            font-weight: 500;
            background: rgba(255, 255, 255, 0.15);
            backdrop-filter: blur(10px);
            padding: 6px 14px;
            border-radius: 50px;
            border: 1px solid rgba(255, 255, 255, 0.2);
        }

/* Content */
.blog-post-content {
    padding: 40px 45px;
}

    .blog-post-content .post-title {
        font-size: 2rem;
        font-weight: 800;
        line-height: 1.5;
        color: #1e293b;
        margin-bottom: 24px;
    }

        .blog-post-content .post-title span {
            color: var(--bs-primary);
        }

    .blog-post-content .post-excerpt {
        font-size: 1.05rem;
        line-height: 2;
        color: #475569;
        padding: 20px 24px;
        background: linear-gradient(135deg, rgba(var(--bs-primary-rgb), 0.06), rgba(var(--bs-primary-rgb), 0.02));
        border-right: 4px solid var(--bs-primary);
        border-radius: 12px;
        margin-bottom: 30px;
        font-weight: 500;
    }

    /* Body content */
    .blog-post-content .post-body {
        font-size: 1rem;
        line-height: 2.1;
        color: #334155;
    }

        .blog-post-content .post-body p {
            margin-bottom: 20px;
        }

        .blog-post-content .post-body h1,
        .blog-post-content .post-body h2,
        .blog-post-content .post-body h3,
        .blog-post-content .post-body h4,
        .blog-post-content .post-body h5 {
            color: #1e293b;
            font-weight: 700;
            margin: 32px 0 16px;
            line-height: 1.5;
        }

        .blog-post-content .post-body h4 {
            font-size: 1.25rem;
            padding-right: 14px;
            border-right: 4px solid var(--bs-primary);
        }

        .blog-post-content .post-body ul,
        .blog-post-content .post-body ol {
            padding-right: 24px;
            margin-bottom: 20px;
        }

        .blog-post-content .post-body li {
            margin-bottom: 10px;
            line-height: 1.9;
        }

            .blog-post-content .post-body li::marker {
                color: var(--bs-primary);
            }

        .blog-post-content .post-body img {
            max-width: 100%;
            height: auto;
            border-radius: 12px;
            margin: 20px 0;
        }

        .blog-post-content .post-body blockquote {
            border-right: 4px solid var(--bs-primary);
            background: rgba(var(--bs-primary-rgb), 0.05);
            padding: 16px 20px;
            border-radius: 8px;
            margin: 24px 0;
            font-style: italic;
            color: #475569;
        }

        .blog-post-content .post-body a {
            color: var(--bs-primary);
            text-decoration: underline;
        }

/* ===== Author Box ===== */
.author-box {
    display: flex;
    gap: 20px;
    align-items: center;
    margin-top: 45px;
    padding: 24px;
    background: #f8fafc;
    border-radius: 16px;
    border: 1px solid #e2e8f0;
}

    .author-box .author-avatar {
        width: 80px;
        height: 80px;
        border-radius: 50%;
        overflow: hidden;
        flex-shrink: 0;
        border: 3px solid #fff;
        box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08);
    }

        .author-box .author-avatar img {
            width: 100%;
            height: 100%;
            object-fit: cover;
        }

    .author-box .author-info h6 {
        font-weight: 800;
        color: #1e293b;
        margin-bottom: 4px;
        font-size: 1.05rem;
    }

    .author-box .author-info p {
        color: #64748b;
        font-size: 0.88rem;
        margin-bottom: 10px;
    }

    .author-box .author-social {
        display: flex;
        gap: 8px;
    }

        .author-box .author-social a {
            width: 32px;
            height: 32px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            background: #fff;
            color: #64748b;
            border-radius: 8px;
            font-size: 0.85rem;
            text-decoration: none;
            transition: all 0.3s;
            border: 1px solid #e2e8f0;
        }

            .author-box .author-social a:hover {
                background: var(--bs-primary);
                color: #fff;
                border-color: var(--bs-primary);
                transform: translateY(-2px);
            }

/* ===== Tags ===== */
.post-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 30px;
    padding-top: 25px;
    border-top: 1px solid #e2e8f0;
}

    .post-tags .tag-item {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        padding: 6px 14px;
        background: #f1f5f9;
        color: #475569;
        border-radius: 50px;
        font-size: 0.82rem;
        font-weight: 600;
        text-decoration: none;
        transition: all 0.3s;
        border: 1px solid transparent;
    }

        .post-tags .tag-item:hover {
            background: rgba(var(--bs-primary-rgb), 0.1);
            color: var(--bs-primary);
            border-color: rgba(var(--bs-primary-rgb), 0.2);
        }

/* ============================================
                   SIDEBAR
                ============================================ */
.blog-sidebar {
    display: flex;
    flex-direction: column;
    gap: 24px;
    position: sticky;
    top: 140px;
}

/* Search */
.sidebar-search {
    background: #fff;
    border-radius: 18px;
    padding: 22px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
    border: 1px solid rgba(0, 0, 0, 0.04);
}

    .sidebar-search .search-title {
        font-weight: 700;
        color: #1e293b;
        margin-bottom: 14px;
        display: flex;
        align-items: center;
        gap: 8px;
        font-size: 0.95rem;
    }

        .sidebar-search .search-title i {
            color: var(--bs-primary);
        }

    .sidebar-search .search-wrapper {
        position: relative;
        display: flex;
        background: #f8fafc;
        border-radius: 12px;
        overflow: hidden;
        border: 1px solid #e2e8f0;
        transition: border-color 0.3s;
    }

        .sidebar-search .search-wrapper:focus-within {
            border-color: var(--bs-primary);
        }

    .sidebar-search input {
        flex: 1;
        border: none;
        background: transparent;
        padding: 12px 16px;
        font-size: 0.9rem;
        color: #1e293b;
        outline: none;
    }

        .sidebar-search input::placeholder {
            color: #94a3b8;
        }

    .sidebar-search button {
        background: var(--bs-primary);
        color: #fff;
        border: none;
        padding: 0 18px;
        cursor: pointer;
        transition: opacity 0.3s;
    }

        .sidebar-search button:hover {
            opacity: 0.9;
        }

/* Recent Posts */
.sidebar-recent {
    background: #fff;
    border-radius: 18px;
    padding: 22px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
    border: 1px solid rgba(0, 0, 0, 0.04);
}

    .sidebar-recent .recent-title {
        font-weight: 700;
        color: #1e293b;
        margin-bottom: 18px;
        display: flex;
        align-items: center;
        gap: 8px;
        font-size: 0.95rem;
    }

        .sidebar-recent .recent-title i {
            color: var(--bs-primary);
        }

    .sidebar-recent .recent-item {
        display: flex;
        gap: 12px;
        padding: 12px 0;
        border-bottom: 1px solid #f1f5f9;
        text-decoration: none;
        transition: opacity 0.3s;
    }

        .sidebar-recent .recent-item:last-child {
            border-bottom: none;
            padding-bottom: 0;
        }

        .sidebar-recent .recent-item:first-of-type {
            padding-top: 0;
        }

        .sidebar-recent .recent-item:hover {
            opacity: 0.8;
        }

    .sidebar-recent .recent-img {
        width: 70px;
        height: 70px;
        border-radius: 12px;
        overflow: hidden;
        flex-shrink: 0;
        background: #e2e8f0;
    }

        .sidebar-recent .recent-img img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            transition: transform 0.4s;
        }

    .sidebar-recent .recent-item:hover .recent-img img {
        transform: scale(1.1);
    }

    .sidebar-recent .recent-info {
        display: flex;
        flex-direction: column;
        justify-content: center;
        min-width: 0;
    }

        .sidebar-recent .recent-info h6 {
            font-size: 0.88rem;
            font-weight: 700;
            color: #1e293b;
            line-height: 1.5;
            margin-bottom: 4px;
            display: -webkit-box;
            -webkit-line-clamp: 2;
            -webkit-box-orient: vertical;
            overflow: hidden;
        }

        .sidebar-recent .recent-info span {
            font-size: 0.78rem;
            color: #94a3b8;
        }

/* ============================================
                   SIDEBAR CATEGORIES (جدید)
                ============================================ */
.sidebar-categories {
    background: #fff;
    border-radius: 18px;
    padding: 22px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
    border: 1px solid rgba(0, 0, 0, 0.04);
}

    .sidebar-categories .categories-title {
        font-weight: 700;
        color: #1e293b;
        margin-bottom: 16px;
        display: flex;
        align-items: center;
        gap: 8px;
        font-size: 0.95rem;
        padding-bottom: 14px;
        border-bottom: 1px solid #f1f5f9;
    }

        .sidebar-categories .categories-title i {
            color: var(--bs-primary);
        }

    .sidebar-categories .category-list {
        display: flex;
        flex-direction: column;
        gap: 6px;
    }

    .sidebar-categories .category-item {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 11px 14px;
        border-radius: 10px;
        font-size: 0.88rem;
        color: #475569;
        text-decoration: none;
        transition: all 0.3s;
        font-weight: 500;
        background: #f8fafc;
        border: 1px solid transparent;
    }

        .sidebar-categories .category-item:hover {
            background: rgba(var(--bs-primary-rgb), 0.08);
            color: var(--bs-primary);
            border-color: rgba(var(--bs-primary-rgb), 0.15);
            transform: translateX(-4px);
        }

        .sidebar-categories .category-item .cat-name {
            display: flex;
            align-items: center;
            gap: 10px;
            min-width: 0;
        }

            .sidebar-categories .category-item .cat-name i {
                color: var(--bs-primary);
                font-size: 0.85rem;
                flex-shrink: 0;
            }

            .sidebar-categories .category-item .cat-name span {
                white-space: nowrap;
                overflow: hidden;
                text-overflow: ellipsis;
            }

        .sidebar-categories .category-item .category-count {
            background: #e2e8f0;
            color: #64748b;
            padding: 2px 10px;
            border-radius: 50px;
            font-size: 0.72rem;
            font-weight: 700;
            flex-shrink: 0;
            transition: all 0.3s;
        }

        .sidebar-categories .category-item:hover .category-count {
            background: var(--bs-primary);
            color: #fff;
        }

    .sidebar-categories .view-all-link {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
        margin-top: 14px;
        padding: 10px;
        border-radius: 10px;
        background: rgba(var(--bs-primary-rgb), 0.06);
        color: var(--bs-primary);
        font-size: 0.82rem;
        font-weight: 700;
        text-decoration: none;
        transition: all 0.3s;
    }

        .sidebar-categories .view-all-link:hover {
            background: var(--bs-primary);
            color: #fff;
        }

/* ============================================
                   SIDEBAR POPULAR TAGS (جدید)
                ============================================ */
.sidebar-popular-tags {
    background: #fff;
    border-radius: 18px;
    padding: 22px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
    border: 1px solid rgba(0, 0, 0, 0.04);
}

    .sidebar-popular-tags .tags-title {
        font-weight: 700;
        color: #1e293b;
        margin-bottom: 16px;
        display: flex;
        align-items: center;
        gap: 8px;
        font-size: 0.95rem;
        padding-bottom: 14px;
        border-bottom: 1px solid #f1f5f9;
    }

        .sidebar-popular-tags .tags-title i {
            color: var(--bs-primary);
        }

    .sidebar-popular-tags .tags-wrapper {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
    }

    .sidebar-popular-tags .popular-tag {
        display: inline-flex;
        align-items: center;
        gap: 5px;
        padding: 6px 12px;
        background: #f1f5f9;
        color: #475569;
        border-radius: 50px;
        font-size: 0.78rem;
        font-weight: 600;
        text-decoration: none;
        transition: all 0.3s;
        border: 1px solid transparent;
    }

        .sidebar-popular-tags .popular-tag i {
            font-size: 0.7rem;
            color: var(--bs-primary);
            transition: color 0.3s;
        }

        .sidebar-popular-tags .popular-tag .popular-tag-count {
            font-size: 0.68rem;
            color: #94a3b8;
            font-weight: 500;
        }

        .sidebar-popular-tags .popular-tag:hover {
            background: var(--bs-primary);
            color: #fff;
            border-color: var(--bs-primary);
            transform: translateY(-2px);
            box-shadow: 0 6px 15px rgba(var(--bs-primary-rgb), 0.25);
        }

            .sidebar-popular-tags .popular-tag:hover i,
            .sidebar-popular-tags .popular-tag:hover .popular-tag-count {
                color: #fff;
            }

    .sidebar-popular-tags .view-all-link {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
        margin-top: 14px;
        padding: 10px;
        border-radius: 10px;
        background: rgba(var(--bs-primary-rgb), 0.06);
        color: var(--bs-primary);
        font-size: 0.82rem;
        font-weight: 700;
        text-decoration: none;
        transition: all 0.3s;
    }

        .sidebar-popular-tags .view-all-link:hover {
            background: var(--bs-primary);
            color: #fff;
        }

/* Contact Widget */
.sidebar-contact {
    background: linear-gradient(135deg, var(--bs-primary), #7c3aed);
    border-radius: 18px;
    padding: 24px;
    color: #fff;
    box-shadow: 0 10px 30px rgba(var(--bs-primary-rgb), 0.3);
}

    .sidebar-contact h4 {
        font-weight: 800;
        margin-bottom: 18px;
        font-size: 1.05rem;
        display: flex;
        align-items: center;
        gap: 8px;
    }

    .sidebar-contact .contact-item {
        display: flex;
        align-items: center;
        gap: 12px;
        padding: 10px 0;
        font-size: 0.88rem;
        color: rgba(255, 255, 255, 0.95);
        text-decoration: none;
        transition: opacity 0.3s;
    }

        .sidebar-contact .contact-item:hover {
            opacity: 0.85;
            color: #fff;
        }

        .sidebar-contact .contact-item i {
            width: 36px;
            height: 36px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            background: rgba(255, 255, 255, 0.15);
            border-radius: 10px;
            flex-shrink: 0;
        }

        .sidebar-contact .contact-item span {
            word-break: break-word;
        }

/* ============================================
                   DARK MODE
                ============================================ */
.dark-mode .blog-post-section {
    background: #0f172a;
}

    .dark-mode .blog-post-section .grid-lines {
        background-image: linear-gradient(rgba(255, 255, 255, 0.03) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, 0.03) 1px, transparent 1px);
    }

.dark-mode .back-to-blog {
    background: #1e293b;
    color: #cbd5e1;
    border-color: #334155;
}

.dark-mode .blog-post-card,
.dark-mode .sidebar-search,
.dark-mode .sidebar-recent,
.dark-mode .sidebar-categories,
.dark-mode .sidebar-popular-tags {
    background: #1e293b;
    border-color: rgba(255, 255, 255, 0.05);
}

    .dark-mode .blog-post-content .post-title,
    .dark-mode .blog-post-content .post-body h1,
    .dark-mode .blog-post-content .post-body h2,
    .dark-mode .blog-post-content .post-body h3,
    .dark-mode .blog-post-content .post-body h4,
    .dark-mode .blog-post-content .post-body h5,
    .dark-mode .sidebar-recent .recent-info h6,
    .dark-mode .sidebar-search .search-title,
    .dark-mode .sidebar-recent .recent-title,
    .dark-mode .sidebar-categories .categories-title,
    .dark-mode .sidebar-popular-tags .tags-title {
        color: #f1f5f9;
    }

.dark-mode .blog-post-content .post-body {
    color: #cbd5e1;
}

.dark-mode .blog-post-content .post-excerpt {
    color: #cbd5e1;
}

.dark-mode .author-box {
    background: #0f172a;
    border-color: #334155;
}

    .dark-mode .author-box .author-info h6 {
        color: #f1f5f9;
    }

    .dark-mode .author-box .author-social a {
        background: #1e293b;
        color: #94a3b8;
        border-color: #334155;
    }

.dark-mode .sidebar-search .search-wrapper {
    background: #0f172a;
    border-color: #334155;
}

.dark-mode .sidebar-search input {
    color: #f1f5f9;
}

.dark-mode .sidebar-recent .recent-item {
    border-color: #334155;
}

.dark-mode .sidebar-categories .categories-title {
    border-color: #334155;
}

.dark-mode .sidebar-categories .category-item {
    background: #0f172a;
    color: #cbd5e1;
}

    .dark-mode .sidebar-categories .category-item .category-count {
        background: #334155;
        color: #cbd5e1;
    }

.dark-mode .sidebar-popular-tags .tags-title {
    border-color: #334155;
}

.dark-mode .sidebar-popular-tags .popular-tag {
    background: #334155;
    color: #cbd5e1;
}

.dark-mode .post-tags .tag-item {
    background: #334155;
    color: #cbd5e1;
}

/* ============================================
                   RESPONSIVE
                ============================================ */
@@media (max-width: 991px) {
    .blog-sidebar {
        position: static;
        margin-top: 40px;
    }

    .blog-post-content {
        padding: 30px 24px;
    }

        .blog-post-content .post-title {
            font-size: 1.5rem;
        }
}

@@media (max-width: 576px) {
    .blog-post-section {
        padding: 30px 0 60px;
    }

    .blog-post-content {
        padding: 24px 18px;
    }

        .blog-post-content .post-title {
            font-size: 1.25rem;
        }

    .blog-post-image .post-meta-top {
        gap: 8px;
    }

        .blog-post-image .post-meta-top .meta-item {
            font-size: 0.72rem;
            padding: 4px 10px;
        }

    .author-box {
        flex-direction: column;
        text-align: center;
    }

        .author-box .author-social {
            justify-content: center;
        }
}