/* Blog.cshtml */
.blog-section { padding: 5rem 0; }
.blog-grid-v2 {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
    gap: 2.5rem;
}

.blog-card-v2 {
    background: rgba(255,255,255,0.02);
    border: 1px solid var(--glass-border);
    border-radius: 20px;
    overflow: hidden;
    transition: var(--transition);
    display: flex;
    flex-direction: column;
}

.blog-card-v2:hover {
    transform: translateY(-10px);
    border-color: var(--primary);
    background: rgba(255,133,0,0.03);
}

.blog-img { position: relative; height: 220px; overflow: hidden; }
.blog-img img { width: 100%; height: 100%; object-fit: cover; transition: 0.8s ease; }
.blog-card-v2:hover .blog-img img { transform: scale(1.1); }

.blog-date {
    position: absolute;
    bottom: 1rem;
    left: 1rem;
    background: var(--primary);
    color: #000;
    padding: 0.4rem 0.8rem;
    border-radius: 6px;
    font-weight: 700;
    font-size: 0.8rem;
}

.blog-body { padding: 1.5rem; flex: 1; display: flex; flex-direction: column; }
.cat-tag { color: var(--primary); font-size: 0.75rem; font-weight: 700; text-transform: uppercase; margin-bottom: 0.5rem; }
.blog-body h3 { font-size: 1.3rem; margin-bottom: 1rem; color: white; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.blog-body p { color: var(--text-muted); font-size: 0.9rem; line-height: 1.6; flex: 1; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; margin-bottom: 1.5rem; }

.read-more { color: white; text-decoration: none; font-weight: 600; display: flex; align-items: center; gap: 0.5rem; }
.read-more:hover { color: var(--primary); }

.blog-modal-inner h2 { color: var(--primary); margin-bottom: 1.5rem; font-size: 2rem; }
.blog-modal-inner .blog-meta-info { color: var(--text-muted); font-size: 0.9rem; margin-bottom: 2rem; border-bottom: 1px solid var(--glass-border); padding-bottom: 1rem; }
.blog-modal-inner .blog-full-content { line-height: 1.8; font-size: 1.05rem; }
.blog-modal-inner .blog-full-content img { max-width: 100%; border-radius: 12px; margin: 2rem 0; }

/* BlogDetail.cshtml */
.blog-detail-hero { 
    min-height: 450px; 
    display: flex; 
    align-items: center; 
    text-align: center; 
    background-color: #111;
    background-image: url('/assets/img/blog_placeholder.png'); /* Baseline fallback */
    background-size: cover;
    background-position: center;
}
.blog-meta-top { margin-bottom: 2rem; display: flex; justify-content: center; gap: 1.5rem; align-items: center; }
.blog-meta-top .cat-tag { background: rgba(255,133,0,0.1); color: var(--primary); padding: 0.5rem 1rem; border-radius: 50px; font-weight: 700; border: 1px solid rgba(255,133,0,0.2); }
.blog-meta-top .blog-date { color: rgba(255,255,255,0.7); font-size: 0.95rem; }

.blog-container-inner { display: block; max-width: 1000px; margin: 0 auto; position: relative; }

.main-blog-content { background: rgba(255,255,255,0.02); border: 1px solid var(--glass-border); border-radius: 24px; padding: 3.5rem; }
.teaser-box { font-size: 1.25rem; line-height: 1.8; color: var(--primary); font-weight: 500; margin-bottom: 3rem; padding-left: 1.5rem; border-left: 4px solid var(--primary); }
.full-content-area { font-size: 1.1rem; line-height: 1.9; color: var(--text-muted); }
.full-content-area h2, .full-content-area h3 { color: white; margin: 2.5rem 0 1.5rem; }
.full-content-area p { margin-bottom: 1.5rem; }
.full-content-area img { max-width: 100%; border-radius: 16px; margin: 2rem 0; box-shadow: 0 20px 40px rgba(0,0,0,0.3); }

.blog-share { margin-top: 4rem; padding-top: 2rem; border-top: 1px solid var(--glass-border); display: flex; gap: 1rem; align-items: center; }
.blog-share a { width: 45px; height: 45px; background: rgba(255,255,255,0.05); border-radius: 50%; display: flex; align-items: center; justify-content: center; color: white; transition: var(--transition); border: 1px solid var(--glass-border); }
.blog-share a:hover { background: var(--primary); color: #000; transform: translateY(-5px); border-color: var(--primary); }

.sidebar-widget { background: rgba(255,255,255,0.02); border: 1px solid var(--glass-border); border-radius: 20px; padding: 2rem; margin-bottom: 2rem; }
.sidebar-widget h3 { color: white; margin-bottom: 1.5rem; border-bottom: 1px solid var(--primary); display: inline-block; padding-bottom: 0.5rem; }
.cta-aside { text-align: center; }
.cta-aside h4 { color: white; font-size: 1.5rem; margin-bottom: 1rem; }
.sticky-widget { position: sticky; top: 100px; }

@media (max-width: 1024px) {
    .blog-container-inner { grid-template-columns: 1fr; }
    .blog-sidebar { order: 2; }
}
