/* ১. রিসেট এবং ভেরিয়েবল */
* { box-sizing: border-box; outline: none; margin: 0; padding: 0; }

:root { 
    --bg-color: #ffffff; 
    --text-color: #333; 
    --border: #e2e2e2; 
    --red: #d32f2f; 
    --sidebar-bg: #11101d; 
    --nav-bg: rgba(0, 0, 0, 0.4);
}

body.dark-theme { 
    --bg-color: #121212; 
    --text-color: #e0e0e0; 
    --border: #333; 
    --sidebar-bg: #000000; 
    --nav-bg: rgba(255, 255, 255, 0.05);
}

body { 
    font-family: 'SolaimanLipi', Arial, sans-serif; 
    background-color: var(--bg-color); 
    color: var(--text-color); 
    transition: 0.3s; 
    line-height: 1.6;
}

a { text-decoration: none; color: inherit; transition: 0.2s; }

/* ২. সাইডবার অপ্টিমাইজেশন */
.sidebar {
    position: fixed;
    top: 0;
    left: -280px;
    height: 100%;
    width: 280px;
    background: var(--sidebar-bg);
    z-index: 2000;
    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 5px 0 15px rgba(0,0,0,0.3);
    padding-top: 20px;
}

.sidebar.active { transform: translateX(280px); }

/* ৩. হেডার এবং স্ক্রল ইফেক্ট */
.header-wrapper { position: fixed; top: 0; width: 100%; z-index: 1000; transition: 0.4s; }

.nav-bar {
    background-color: var(--nav-bg); 
    display: flex; justify-content: space-between; align-items: center;
    height: 50px; padding: 0 15px; transition: 0.4s;
}

/* যখন স্ক্রল করা হবে */
.header-wrapper.scrolled .top-header { background-color: #ffffff; color: #333; border-bottom: 1px solid #eee; box-shadow: 0 2px 5px rgba(0,0,0,0.1); }
.header-wrapper.scrolled .top-header img { filter: none; }
.header-wrapper.scrolled .nav-bar { background-color: #ff0000 !important; }

/* ৪. নিউজ গ্রিড এবং রেসপন্সিভনেস */
.main-container { padding: 80px 15px 20px; max-width: 1200px; margin: 0 auto; } /* প্যাডিং অ্যাডজাস্ট করা হয়েছে ফিক্সড হেডারের জন্য */

.news-grid { 
    display: grid; 
    gap: 15px; 
    grid-template-columns: repeat(2, 1fr); 
}

@media (min-width: 768px) { 
    .news-grid { grid-template-columns: repeat(3, 1fr); } 
}

@media (min-width: 1024px) { 
    .news-grid { grid-template-columns: repeat(4, 1fr); } 
}

.news-box { 
    background: var(--card-bg, #fff); 
    border: 1px solid var(--border); 
    border-radius: 4px; 
    transition: transform 0.3s;
}

body.dark-theme .news-box { background: #1e1e1e; }

.news-box:hover { transform: translateY(-3px); box-shadow: 0 5px 15px rgba(0,0,0,0.1); }
