/*
Theme Name: Bangla News Pro
Theme URI: https://example.com/bangla-news
Author: Global IT
Author URI: https://example.com
Description: Bangla News Pro - a fast, mobile-first, plugin-friendly WordPress news theme with Custom Logo support and popular color style.
Version: 1.1.0
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: bangla-news-pro
Tags: news, blog, two-columns, right-sidebar, custom-logo, custom-menu, featured-images, translation-ready
*/

:root{
  --bn-primary: #d11a2a;
  --bn-primary-2: #0f172a;
  --bn-bg: #ffffff;
  --bn-text: #0b1220;
  --bn-muted: #64748b;
  --bn-border: #e5e7eb;
  --bn-card: #ffffff;
  --bn-shadow: 0 10px 25px rgba(2,6,23,.06);
  --bn-radius: 16px;
  --bn-container: 1200px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans Bengali", "Hind Siliguri", Arial, sans-serif;
  color:var(--bn-text);
  background:var(--bn-bg);
  line-height:1.6;
}
a{color:inherit; text-decoration:none}
a:hover{color:var(--bn-primary)}
img{max-width:100%; height:auto; display:block}
.container{max-width:var(--bn-container); margin:0 auto; padding:0 16px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.bn-topbar{
  background:linear-gradient(90deg, var(--bn-primary), #ff3b4f);
  color:#fff;
  font-size:14px;
}
.bn-topbar .container{
  display:flex; align-items:center; justify-content:space-between;
  gap:12px; padding:8px 16px;
}
.bn-topbar .bn-ticker{
  display:flex; gap:10px; align-items:center; overflow:hidden; white-space:nowrap;
  min-width:0;
}
.bn-badge{
  background:rgba(255,255,255,.18);
  border:1px solid rgba(255,255,255,.25);
  padding:3px 10px; border-radius:999px;
  font-weight:700;
}
.bn-ticker span{
  display:inline-block;
  animation: bn-marquee 18s linear infinite;
}
@keyframes bn-marquee{
  0%{transform:translateX(100%)}
  100%{transform:translateX(-120%)}
}
.bn-topbar .bn-meta{opacity:.95}
.bn-header{
  position:sticky; top:0; z-index:50;
  background:rgba(255,255,255,.92);
  backdrop-filter:saturate(180%) blur(10px);
  border-bottom:1px solid var(--bn-border);
}
.bn-header .container{
  display:flex; align-items:center; justify-content:space-between;
  gap:14px; padding:12px 16px;
}
.bn-brand{
  display:flex; align-items:center; gap:10px; min-width:0;
}
.bn-logo{width:44px; height:44px; border-radius:12px; overflow:hidden; box-shadow: var(--bn-shadow); background:#fff}
.bn-site-title{
  font-weight:900; letter-spacing:.2px; font-size:20px;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.bn-site-tagline{font-size:12px; color:var(--bn-muted); margin-top:-2px}

.bn-nav{
  display:flex; align-items:center; gap:14px;
}
.bn-nav ul{
  list-style:none; margin:0; padding:0;
  display:flex; align-items:center; gap:6px;
}
.bn-nav a{
  display:inline-flex; align-items:center;
  padding:10px 12px; border-radius:999px;
  color:var(--bn-text);
  font-weight:600; font-size:14px;
}
.bn-nav a:hover{background:#f1f5f9}
.bn-nav .current-menu-item > a,
.bn-nav .current_page_item > a{background:#f1f5f9}

.bn-actions{display:flex; align-items:center; gap:10px}
.bn-btn{
  appearance:none; border:1px solid var(--bn-border);
  background:#fff; border-radius:999px;
  padding:10px 12px; cursor:pointer;
  display:inline-flex; align-items:center; gap:8px;
  box-shadow: 0 6px 16px rgba(2,6,23,.05);
  font-weight:700; font-size:14px;
}
.bn-btn:hover{border-color:#cbd5e1}
.bn-btn.primary{background:var(--bn-primary); color:#fff; border-color:transparent}
.bn-btn.primary:hover{filter:brightness(.95)}

.bn-mobile-toggle{display:none}
.bn-mobile-panel{display:none; border-top:1px solid var(--bn-border); background:#fff}
.bn-mobile-panel ul{list-style:none; margin:0; padding:10px 16px; display:flex; flex-direction:column; gap:6px}
.bn-mobile-panel a{padding:10px 12px; border-radius:12px; font-weight:700; background:#f8fafc}
.bn-mobile-panel a:hover{background:#f1f5f9}

.bn-layout{
  display:grid;
  grid-template-columns: 1fr 340px;
  gap:22px;
  padding:18px 0 30px;
}
@media (max-width: 980px){
  .bn-layout{grid-template-columns:1fr}
}
.bn-card{
  background:var(--bn-card);
  border:1px solid var(--bn-border);
  border-radius:var(--bn-radius);
  box-shadow: var(--bn-shadow);
}
.bn-card.padded{padding:16px}
.bn-section-title{
  display:flex; align-items:center; justify-content:space-between;
  gap:10px; margin:0 0 12px;
  font-size:18px; font-weight:900;
}
.bn-section-title .bn-link{font-size:13px; color:var(--bn-muted); font-weight:800}
.bn-grid{
  display:grid; gap:14px;
}
.bn-grid.cols-2{grid-template-columns:repeat(2, minmax(0,1fr))}
.bn-grid.cols-3{grid-template-columns:repeat(3, minmax(0,1fr))}
@media (max-width: 820px){ .bn-grid.cols-3{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (max-width: 560px){ .bn-grid.cols-2, .bn-grid.cols-3{grid-template-columns:1fr} }

.bn-post{
  display:flex; flex-direction:column; gap:10px;
}
.bn-thumb{
  border-radius:14px; overflow:hidden;
  background:#f1f5f9;
  border:1px solid var(--bn-border);
}
.bn-thumb img{width:100%; height:190px; object-fit:cover}
.bn-post h3{margin:0; font-size:16px; font-weight:900; line-height:1.3}
.bn-post .bn-excerpt{margin:0; color:var(--bn-muted); font-size:13px}
.bn-meta-row{
  display:flex; flex-wrap:wrap; gap:8px; align-items:center;
  font-size:12px; color:var(--bn-muted); font-weight:700;
}
.bn-pill{
  background:#f1f5f9; border:1px solid var(--bn-border);
  border-radius:999px; padding:4px 10px; color:var(--bn-primary-2);
}
.bn-pill.cat{border-color:rgba(209,26,42,.22); background:rgba(209,26,42,.06); color:var(--bn-primary)}

.bn-hero{
  display:grid; grid-template-columns: 1.35fr .65fr;
  gap:14px;
}
@media (max-width: 820px){ .bn-hero{grid-template-columns:1fr} }
.bn-hero-main .bn-thumb img{height:340px}
.bn-hero-side .bn-thumb img{height:140px}
.bn-hero-side .bn-post{flex-direction:row; gap:12px; align-items:center}
.bn-hero-side .bn-thumb{width:120px; flex:0 0 120px}
.bn-hero-side h3{font-size:14px}
.bn-hero-side .bn-excerpt{display:none}

.bn-sidebar .widget{margin-bottom:16px}
.widget-title{
  margin:0 0 10px; font-size:15px; font-weight:900;
}
.widget{
  padding:14px;
  border:1px solid var(--bn-border);
  border-radius:var(--bn-radius);
  background:#fff;
  box-shadow: var(--bn-shadow);
}
.widget ul{margin:0; padding-left:18px}
.widget a{font-weight:700}
.widget .search-form{display:flex; gap:8px}
.widget input[type="search"]{
  width:100%; padding:10px 12px;
  border:1px solid var(--bn-border);
  border-radius:12px;
}
.widget input[type="submit"]{
  padding:10px 14px; border-radius:12px;
  border:0; background:var(--bn-primary); color:#fff; font-weight:900; cursor:pointer;
}

.bn-pagination{display:flex; justify-content:center; margin-top:18px}
.bn-pagination .page-numbers{
  display:inline-flex; padding:10px 12px; border-radius:12px;
  border:1px solid var(--bn-border); margin:0 4px; font-weight:900;
}
.bn-pagination .current{background:var(--bn-primary); color:#fff; border-color:transparent}

.bn-content{
  padding:18px 16px;
}
.bn-content h1{margin:0 0 10px; font-size:28px; line-height:1.25}
@media (max-width:560px){ .bn-content h1{font-size:24px} }
.bn-content .entry-meta{margin-bottom:12px}
.bn-content .entry-meta a{color:var(--bn-primary); font-weight:900}
.bn-content .entry-content p{margin:0 0 12px}
.bn-content .entry-content a{color:var(--bn-primary); font-weight:900}
.bn-content .entry-content h2,.bn-content .entry-content h3{margin:18px 0 8px}
.bn-content .entry-content img{border-radius:14px; border:1px solid var(--bn-border)}

.bn-footer{
  margin-top:24px;
  border-top:1px solid var(--bn-border);
  background:#0b1220;
  color:#e2e8f0;
}
.bn-footer .container{padding:22px 16px}
.bn-footer a{color:#fff; font-weight:900}
.bn-footer .bn-foot-grid{
  display:grid; grid-template-columns: 1.2fr .8fr;
  gap:16px;
}
@media (max-width: 820px){ .bn-footer .bn-foot-grid{grid-template-columns:1fr} }
.bn-foot-small{margin-top:14px; color:#94a3b8; font-size:13px; font-weight:700}

.bn-skip{position:absolute; left:-999px; top:auto}
.bn-skip:focus{left:16px; top:16px; z-index:9999; background:#fff; padding:10px 12px; border-radius:12px; border:1px solid var(--bn-border)}

