/* Shared article page styles. */

.article-hero {
            background: linear-gradient(135deg, var(--primary-light), #fff);
            padding: 54px 0;
        }

        .article-layout {
            display: grid;
            grid-template-columns: minmax(0, 1fr) 320px;
            gap: 40px;
            align-items: start;
        }

        .article-body {
            background: #fff;
            border: 1px solid var(--border-color);
            border-radius: 16px;
            padding: 36px;
            box-shadow: var(--shadow-sm);
        }

        .article-body p, .article-body li {
            color: var(--text-muted);
            line-height: 1.85;
            font-size: 15px;
        }

        .article-body p {
            margin-bottom: 16px;
        }

        .article-body h2 {
            font-size: 24px;
            margin: 32px 0 12px;
            color: var(--text-dark);
        }

        .article-body ul {
            padding-left: 20px;
            margin: 12px 0 18px;
        }

        .article-cover {
            width: 100%;
            max-height: 460px;
            object-fit: cover;
            border-radius: 16px;
            margin: 26px 0;
            box-shadow: var(--shadow-sm);
        }

        .article-meta-line {
            display: flex;
            flex-wrap: wrap;
            gap: 16px;
            color: var(--text-muted);
            font-size: 13px;
            margin-top: 14px;
        }

        .article-summary {
            background: var(--primary-light);
            border-left: 3px solid var(--primary-color);
            padding: 18px;
            border-radius: 10px;
            margin: 22px 0;
        }

        .article-side-card {
            background: var(--white);
            border: 1px solid var(--border-color);
            border-radius: 16px;
            padding: 24px;
            position: sticky;
            top: 92px;
            box-shadow: var(--shadow-sm);
        }

        .article-side-card p {
            color: var(--text-muted);
            line-height: 1.7;
            font-size: 14px;
        }

        @media (max-width: 900px) {
            .article-layout {
                grid-template-columns: 1fr;
            }

            .article-body {
                padding: 24px;
            }

            .article-side-card {
                position: static;
            }
        }
