@font-face {
  font-family: 'Kalpurush';
  font-display: swap;
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/kalpurush.woff2') format('woff2'),
       url('../fonts/kalpurush.ttf') format('truetype');
}

/**
 * ============================================================================
 * BNN BANGLA — Public Frontend Stylesheet
 * ============================================================================
 * Brand Primary     : #1B8415  (BNN Green)
 * Primary Dark      : #14620f
 * Accent Red        : #ef4444  (Live / Breaking)
 * Body Background   : #F0F1F2
 * Card Background   : #ffffff
 * Footer Background : #000000
 * Text Main         : #222222
 * Text Muted        : #666666
 * Border            : #E0E2E5
 * Font Stack        : 'Kalpurush', 'Hind Siliguri', -apple-system, sans-serif
 * Max Content Width : 1200px
 * ============================================================================
 * Table of Contents
 *  1. RESET & BASE
 *  2. TYPOGRAPHY
 *  3. LAYOUT UTILITIES
 *  4. HEADER
 *  5. MOBILE NAV
 *  6. DESKTOP NAV MENU
 *  7. BREAKING NEWS TICKER
 *  8. AD BANNER SLOTS
 *  9. NEWS CARDS
 * 10. SECTION HEADERS
 * 11. HOMEPAGE SECTIONS
 * 12. PAGINATION
 * 13. ARTICLE DETAIL PAGE
 * 14. SEARCH, AUTHOR, CATEGORY PAGES
 * 15. FOOTER
 * 16. 404 PAGE
 * 17. DARK MODE
 * 18. ANIMATIONS
 * 19. PRINT
 * 20. RESPONSIVE
 * ============================================================================
 */

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+Bengali:wght@300;400;500;600;700;800&family=Hind+Siliguri:wght@300;400;500;600;700&family=Inter:wght@400;500;600;700&display=swap');

/* ============================================================================
   CSS CUSTOM PROPERTIES / DESIGN TOKENS
   ============================================================================ */
:root {
  /* Brand Colors */
  --bnn-primary:            #1B8415;
  --bnn-primary-dark:       #14620f;
  --bnn-primary-hover:      #156811;
  --bnn-primary-light:      #e8f5e9;
  --bnn-primary-rgb:        27, 132, 21;
  --bnn-accent-red:         #ef4444;
  --bnn-accent-red-hover:   #dc2626;
  --bnn-accent-red-light:   #fee2e2;

  /* Surfaces & Backgrounds */
  --bnn-body-bg:            #F0F1F2;
  --bnn-card-bg:            #ffffff;
  --bnn-surface-muted:      #f8fafc;
  --bnn-footer-bg:          var(--bnn-body-bg);
  --bnn-footer-text:        var(--bnn-text-main);
  --bnn-footer-muted:       var(--bnn-text-muted);

  /* Text */
  --bnn-text-main:          #222222;
  --bnn-text-muted:         #666666;
  --bnn-text-light:         #999999;
  --bnn-text-white:         #ffffff;
  --bnn-link:               #222222;

  /* Border */
  --bnn-border:             #E0E2E5;
  --bnn-border-dark:        #c8cace;

  /* Layout */
  --bnn-max-width:          1280px;
  --bnn-container-pad:      15px;
  --bnn-radius:             8px;
  --bnn-radius-sm:          4px;
  --bnn-radius-lg:          12px;
  --bnn-radius-full:        9999px;

  /* Shadows */
  --bnn-shadow-sm:          0 1px 3px rgba(0,0,0,.08);
  --bnn-shadow:             0 2px 8px rgba(0,0,0,.10);
  --bnn-shadow-md:          0 4px 16px rgba(0,0,0,.12);
  --bnn-shadow-lg:          0 8px 32px rgba(0,0,0,.15);
  --bnn-shadow-hover:       0 8px 24px rgba(27,132,21,.18);

  /* Transitions */
  --bnn-transition:         0.25s ease;
  --bnn-transition-fast:    0.15s ease;
  --bnn-transition-slow:    0.4s ease;

  /* Header heights */
  --bnn-topbar-h:           36px;
  --bnn-header-middle-h:    80px;
  --bnn-nav-h:              48px;
  --bnn-total-header-h:     164px;

  /* Z-index layers */
  --z-sticky:               100;
  --z-dropdown:             200;
  --z-overlay:              300;
  --z-mobile-nav:           400;
  --z-modal:                500;
  --z-toast:                600;
}


/* ============================================================================
   1. RESET & BASE
   ============================================================================ */
*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  font-size: 16px;
  scroll-behavior: smooth;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

body {
  font-family: var(--bnn-font-primary, 'Kalpurush', 'Hind Siliguri', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif);
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.7;
  color: var(--bnn-text-main);
  background-color: var(--bnn-body-bg);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: clip;
}

/* Links */
a {
  color: inherit;
  text-decoration: none;
  transition: color var(--bnn-transition-fast);
}
a:hover { color: var(--bnn-primary); }
a:focus-visible {
  outline: 2px solid var(--bnn-primary);
  outline-offset: 2px;
  border-radius: 2px;
}

/* Images */
img,
svg,
video {
  display: block;
  max-width: 100%;
  height: auto;
}

/* Lists */
ul, ol { list-style: none; }

/* Form elements */
button,
input,
select,
textarea {
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}
button { cursor: pointer; border: none; background: none; }
input, textarea, select { border: 1px solid var(--bnn-border); }

/* Table */
table { border-collapse: collapse; width: 100%; }

/* HR */
hr {
  border: none;
  border-top: 1px solid var(--bnn-border);
  margin: 1.5rem 0;
}

/* Selection */
::selection {
  background-color: rgba(var(--bnn-primary-rgb), 0.2);
  color: var(--bnn-text-main);
}

/* Scrollbar */
::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-track { background: var(--bnn-body-bg); }
::-webkit-scrollbar-thumb {
  background: var(--bnn-border-dark);
  border-radius: var(--bnn-radius-full);
}
::-webkit-scrollbar-thumb:hover { background: var(--bnn-primary); }


/* ============================================================================
   2. TYPOGRAPHY
   ============================================================================ */

/* Bengali-optimised line heights */
h1, h2, h3, h4, h5, h6 {
  font-family: var(--bnn-font-primary, 'Kalpurush', 'Hind Siliguri', sans-serif);
  font-weight: 700;
  line-height: 1.35;
  color: var(--bnn-text-main);
  letter-spacing: -0.01em;
}

h1 { font-size: clamp(1.6rem, 4vw, 2.25rem); }
h2 { font-size: clamp(1.35rem, 3vw, 1.75rem); }
h3 { font-size: clamp(1.1rem, 2.5vw, 1.35rem); }
h4 { font-size: 1.125rem; }
h5 { font-size: 1rem;     }
h6 { font-size: 0.9rem;   }

p {
  line-height: 1.8;
  margin-bottom: 1em;
  color: var(--bnn-text-main);
}
p:last-child { margin-bottom: 0; }

/* Bengali body text needs extra breathing room */
.bn-text,
[lang="bn"],
.article-body {
  line-height: 1.9;
  word-spacing: 0.04em;
}

strong, b { font-weight: 700; }
em, i    { font-style: italic; }

small {
  font-size: 0.8rem;
  color: var(--bnn-text-muted);
}

code {
  font-family: 'Courier New', monospace;
  font-size: 0.875em;
  background: var(--bnn-primary-light);
  color: var(--bnn-primary-dark);
  padding: 0.15em 0.4em;
  border-radius: var(--bnn-radius-sm);
}

pre {
  background: #1e1e1e;
  color: #d4d4d4;
  padding: 1.25rem;
  border-radius: var(--bnn-radius);
  overflow-x: auto;
  line-height: 1.6;
  margin: 1.5rem 0;
}

blockquote {
  border-left: 4px solid var(--bnn-primary);
  background: var(--bnn-primary-light);
  padding: 1rem 1.25rem;
  margin: 1.5rem 0;
  border-radius: 0 var(--bnn-radius) var(--bnn-radius) 0;
  font-style: italic;
  color: var(--bnn-text-muted);
}

mark {
  background: rgba(var(--bnn-primary-rgb), 0.15);
  color: var(--bnn-primary-dark);
  padding: 0 0.2em;
  border-radius: 2px;
}


/* ============================================================================
   3. LAYOUT UTILITIES
   ============================================================================ */

/* Container */
.bnn-container {
  width: 100%;
  max-width: var(--bnn-max-width);
  margin-inline: auto;
  padding-inline: var(--bnn-container-pad);
}

/* Section spacing */
.bnn-section {
  padding-block: 2.5rem;
}
.bnn-section-sm { padding-block: 1.5rem; }
.bnn-section-lg { padding-block: 4rem; }

/* Grid systems */
.bnn-grid {
  display: grid;
  gap: 1.25rem;
}

.bnn-grid-2 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.25rem;
}

.bnn-grid-3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.25rem;
}

.bnn-grid-4 {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.25rem;
}

.bnn-grid-5 {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 1rem;
}

/* Flex utilities */
.bnn-flex         { display: flex; }
.bnn-flex-center  { display: flex; align-items: center; }
.bnn-flex-between { display: flex; align-items: center; justify-content: space-between; }
.bnn-flex-col     { display: flex; flex-direction: column; }
.bnn-flex-wrap    { display: flex; flex-wrap: wrap; }
.bnn-gap-1        { gap: 0.5rem; }
.bnn-gap-2        { gap: 1rem; }
.bnn-gap-3        { gap: 1.5rem; }

/* Visibility */
.bnn-show-mobile  { display: none; }
.bnn-hide-mobile  { display: block; }

/* Text utilities */
.bnn-text-center  { text-align: center; }
.bnn-text-right   { text-align: right; }
.bnn-text-muted   { color: var(--bnn-text-muted); }
.bnn-text-primary { color: var(--bnn-primary); }
.bnn-text-red     { color: var(--bnn-accent-red); }
.bnn-text-sm      { font-size: 0.85rem; }
.bnn-text-xs      { font-size: 0.75rem; }

/* Spacing helpers */
.bnn-mt-1  { margin-top: 0.5rem; }
.bnn-mt-2  { margin-top: 1rem; }
.bnn-mt-3  { margin-top: 1.5rem; }
.bnn-mb-1  { margin-bottom: 0.5rem; }
.bnn-mb-2  { margin-bottom: 1rem; }
.bnn-mb-3  { margin-bottom: 1.5rem; }

/* Divider */
.bnn-divider {
  border: none;
  border-top: 1px solid var(--bnn-border);
  margin-block: 1.5rem;
}

/* Visually hidden (a11y) */
.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;
}

/* Skip link */
.skip-link {
  position: absolute;
  top: -100%;
  left: 0;
  background: var(--bnn-primary);
  color: #fff;
  padding: 0.5rem 1rem;
  font-size: 0.875rem;
  z-index: var(--z-toast);
  border-radius: 0 0 var(--bnn-radius) 0;
}
.skip-link:focus { top: 0; }

/* Lazy-load image placeholder */
.lazy-img {
  background: linear-gradient(90deg, #e8e8e8 25%, #f5f5f5 50%, #e8e8e8 75%);
  background-size: 200% 100%;
  animation: shimmer 1.4s infinite;
}
.lazy-img.loaded { animation: none; background: none; }


/* ============================================================================
   4. HEADER
   ============================================================================ */
.bnn-header {
  position: sticky;
  top: 0;
  left: 0;
  right: 0;
  z-index: var(--z-sticky);
  background: #fff;
  box-shadow: var(--bnn-shadow-sm);
  transition: box-shadow var(--bnn-transition);
}
.bnn-header--scrolled {
  box-shadow: var(--bnn-shadow-md);
}

/* ---- Top bar ---- */
.bnn-header-topbar {
  background: var(--bnn-primary);
  color: #fff;
  height: var(--bnn-topbar-h);
  overflow: hidden;
}
.bnn-header-topbar .bnn-container {
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.bnn-topbar-date {
  font-size: 0.72rem;
  font-weight: 500;
  white-space: nowrap;
  opacity: 0.92;
  letter-spacing: 0.02em;
}
.bnn-topbar-date span { margin-right: 0.5rem; }

.bnn-topbar-right {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  font-size: 0.72rem;
}
.bnn-topbar-right a {
  color: rgba(255,255,255,0.85);
  transition: color var(--bnn-transition-fast);
}
.bnn-topbar-right a:hover { color: #fff; }
.bnn-topbar-right .sep {
  opacity: 0.4;
  font-size: 0.65rem;
}

/* ---- Header Middle (Logo + Social + YouTube) ---- */
.bnn-header-middle {
  background: #fff;
  border-bottom: 1px solid var(--bnn-border);
  min-height: var(--bnn-header-middle-h);
}
.bnn-header-middle .bnn-container {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  padding-block: 0.75rem;
  gap: 1rem;
}

/* Social icons — left column */
.bnn-header-social {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.bnn-social-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: var(--bnn-body-bg);
  color: var(--bnn-text-muted);
  font-size: 0.85rem;
  border: 1px solid var(--bnn-border);
  transition: background var(--bnn-transition-fast),
              color var(--bnn-transition-fast),
              border-color var(--bnn-transition-fast),
              transform var(--bnn-transition-fast);
  text-decoration: none;
  flex-shrink: 0;
}
.bnn-social-icon:hover {
  transform: translateY(-1px);
  box-shadow: var(--bnn-shadow-sm);
}
.bnn-social-icon.si-fb:hover     { background: #1877f2; color: #fff; border-color: #1877f2; }
.bnn-social-icon.si-tw:hover     { background: #000;    color: #fff; border-color: #000; }
.bnn-social-icon.si-yt:hover     { background: #ff0000; color: #fff; border-color: #ff0000; }
.bnn-social-icon.si-ig:hover     { background: linear-gradient(45deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888); color: #fff; border-color: #e1306c; }
.bnn-social-icon.si-wa:hover     { background: #25d366; color: #fff; border-color: #25d366; }
.bnn-social-icon.si-tg:hover     { background: #229ed9; color: #fff; border-color: #229ed9; }
.bnn-social-icon svg { width: 16px; height: 16px; fill: currentColor; }

/* Logo — center column */
.bnn-logo {
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
}
.bnn-logo img {
  max-height: 60px;
  width: auto;
  transition: opacity var(--bnn-transition-fast);
}
.bnn-logo:hover img { opacity: 0.88; }
.bnn-logo-text {
  font-size: 1.8rem;
  font-weight: 800;
  color: var(--bnn-primary);
  letter-spacing: -0.02em;
  line-height: 1;
}
.bnn-logo-text span { color: var(--bnn-accent-red); }

/* Right column — YouTube Live + Search + Dark Toggle */
.bnn-header-right-controls {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.6rem;
}

/* YouTube Live button */
.bnn-yt-live-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  background: linear-gradient(135deg, var(--bnn-primary) 0%, var(--bnn-primary-dark) 100%);
  color: #fff;
  font-size: 0.78rem;
  font-weight: 700;
  padding: 0.45rem 0.9rem;
  border-radius: var(--bnn-radius-full);
  text-decoration: none;
  white-space: nowrap;
  letter-spacing: 0.02em;
  transition: transform var(--bnn-transition-fast),
              box-shadow var(--bnn-transition-fast);
  box-shadow: 0 2px 8px rgba(var(--bnn-primary-rgb), 0.35);
}
.bnn-yt-live-btn:hover {
  color: #fff;
  transform: translateY(-1px);
  box-shadow: 0 4px 14px rgba(var(--bnn-primary-rgb), 0.45);
}

/* Red pulse dot for live */
.bnn-live-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--bnn-accent-red);
  display: inline-block;
  flex-shrink: 0;
  animation: live-pulse 1.5s ease-in-out infinite;
}

@keyframes live-pulse {
  0%, 100% { transform: scale(1); opacity: 1; box-shadow: 0 0 0 0 rgba(239,68,68,0.6); }
  50%       { transform: scale(1.2); opacity: 0.85; box-shadow: 0 0 0 4px rgba(239,68,68,0); }
}

/* Icon buttons: search + dark toggle */
.bnn-icon-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--bnn-body-bg);
  border: 1px solid var(--bnn-border);
  color: var(--bnn-text-muted);
  cursor: pointer;
  transition: background var(--bnn-transition-fast),
              color var(--bnn-transition-fast),
              border-color var(--bnn-transition-fast);
  flex-shrink: 0;
}
.bnn-icon-btn:hover {
  background: var(--bnn-primary-light);
  color: var(--bnn-primary);
  border-color: var(--bnn-primary);
}
.bnn-icon-btn svg { width: 18px; height: 18px; }

/* ---- Navigation bar ---- */
.bnn-header-nav {
  background: #fff;
  border-bottom: 3px solid var(--bnn-primary);
  height: var(--bnn-nav-h);
  position: relative;
}
.bnn-header--scrolled .bnn-header-nav {
  box-shadow: 0 3px 10px rgba(0,0,0,.08);
}
.bnn-header-nav .bnn-container {
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

/* Hamburger */
#bnnHamburger {
  display: none;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 36px;
  height: 36px;
  gap: 5px;
  cursor: pointer;
  background: none;
  border: none;
  padding: 0;
  flex-shrink: 0;
  z-index: 10;
}
#bnnHamburger .bar {
  display: block;
  width: 22px;
  height: 2px;
  border-radius: 2px;
  background: var(--bnn-text-main);
  transition: transform var(--bnn-transition),
              opacity var(--bnn-transition),
              width var(--bnn-transition);
  transform-origin: center;
}
#bnnHamburger.is-active .bar:nth-child(1) {
  transform: translateY(7px) rotate(45deg);
}
#bnnHamburger.is-active .bar:nth-child(2) {
  opacity: 0;
  width: 0;
}
#bnnHamburger.is-active .bar:nth-child(3) {
  transform: translateY(-7px) rotate(-45deg);
}

/* Search bar (collapsible) */
#bnnSearchBar {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background: #fff;
  border-top: 1px solid var(--bnn-border);
  border-bottom: 3px solid var(--bnn-primary);
  padding: 0.75rem 1rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  pointer-events: none;
  transition: max-height var(--bnn-transition-slow),
              opacity var(--bnn-transition),
              padding var(--bnn-transition-slow);
  z-index: var(--z-dropdown);
}
#bnnSearchBar.is-open {
  max-height: 80px;
  opacity: 1;
  pointer-events: auto;
}
#bnnSearchBar input {
  flex: 1;
  padding: 0.55rem 1rem;
  border: 1px solid var(--bnn-border);
  border-radius: var(--bnn-radius-full);
  font-size: 0.95rem;
  outline: none;
  transition: border-color var(--bnn-transition-fast),
              box-shadow var(--bnn-transition-fast);
  background: var(--bnn-body-bg);
}
#bnnSearchBar input:focus {
  border-color: var(--bnn-primary);
  box-shadow: 0 0 0 3px rgba(var(--bnn-primary-rgb), 0.12);
  background: #fff;
}
#bnnSearchBar button[type="submit"] {
  background: var(--bnn-primary);
  color: #fff;
  border: none;
  padding: 0.55rem 1.25rem;
  border-radius: var(--bnn-radius-full);
  font-size: 0.9rem;
  font-weight: 600;
  cursor: pointer;
  transition: background var(--bnn-transition-fast);
  white-space: nowrap;
}
#bnnSearchBar button[type="submit"]:hover {
  background: var(--bnn-primary-dark);
}

/* Dark mode toggle */
#bnnDarkModeToggle {
  position: relative;
}
#bnnDarkModeToggle .icon-moon,
#bnnDarkModeToggle .icon-sun { transition: opacity var(--bnn-transition-fast); }
body.dark-mode #bnnDarkModeToggle .icon-moon { opacity: 0; position: absolute; }
body.dark-mode #bnnDarkModeToggle .icon-sun  { opacity: 1; }
body:not(.dark-mode) #bnnDarkModeToggle .icon-sun  { opacity: 0; position: absolute; }
body:not(.dark-mode) #bnnDarkModeToggle .icon-moon { opacity: 1; }


/* ============================================================================
   5. MOBILE NAV
   ============================================================================ */

/* Overlay backdrop */
#bnnNavOverlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.55);
  z-index: var(--z-overlay);
  opacity: 0;
  visibility: hidden;
  transition: opacity var(--bnn-transition), visibility var(--bnn-transition);
  backdrop-filter: blur(2px);
}
#bnnNavOverlay.is-visible {
  opacity: 1;
  visibility: visible;
}

/* Slide-in panel */
#bnnMobileNav {
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  width: 280px;
  max-width: 85vw;
  background: #111;
  z-index: var(--z-mobile-nav);
  transform: translateX(-100%);
  transition: transform var(--bnn-transition-slow) cubic-bezier(0.4, 0, 0.2, 1);
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
#bnnMobileNav.is-open {
  transform: translateX(0);
}

.bnn-mobile-nav-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem;
  border-bottom: 1px solid rgba(255,255,255,0.08);
  min-height: 60px;
  flex-shrink: 0;
}
.bnn-mobile-nav-logo {
  font-size: 1.3rem;
  font-weight: 800;
  color: var(--bnn-primary);
  text-decoration: none;
}
.bnn-mobile-nav-logo span { color: var(--bnn-accent-red); }

.bnn-mobile-nav-close {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: rgba(255,255,255,0.1);
  color: #fff;
  font-size: 1.1rem;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  border: none;
  transition: background var(--bnn-transition-fast);
  flex-shrink: 0;
}
.bnn-mobile-nav-close:hover { background: rgba(255,255,255,0.2); }

/* Mobile search */
.bnn-mobile-search {
  padding: 0.75rem 1rem;
  border-bottom: 1px solid rgba(255,255,255,0.08);
  flex-shrink: 0;
}
.bnn-mobile-search input {
  width: 100%;
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: var(--bnn-radius-full);
  padding: 0.5rem 1rem;
  color: #fff;
  font-size: 0.9rem;
  outline: none;
}
.bnn-mobile-search input::placeholder { color: rgba(255,255,255,0.4); }
.bnn-mobile-search input:focus {
  border-color: var(--bnn-primary);
  background: rgba(255,255,255,0.12);
}

/* Nav list */
.bnn-mobile-nav-list {
  flex: 1;
  overflow-y: auto;
  padding: 0.5rem 0;
}
.bnn-mobile-nav-list::-webkit-scrollbar { width: 3px; }
.bnn-mobile-nav-list::-webkit-scrollbar-thumb { background: rgba(255,255,255,.2); }

.bnn-mobile-nav-item {
  border-bottom: 1px solid rgba(255,255,255,0.04);
}
.bnn-mobile-nav-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.8rem 1rem;
  color: rgba(255,255,255,0.85);
  font-size: 0.95rem;
  font-weight: 500;
  text-decoration: none;
  transition: background var(--bnn-transition-fast), color var(--bnn-transition-fast);
}
.bnn-mobile-nav-link:hover,
.bnn-mobile-nav-item.is-active > .bnn-mobile-nav-link {
  background: rgba(var(--bnn-primary-rgb), 0.15);
  color: var(--bnn-primary);
}
.bnn-mobile-nav-link .chevron {
  font-size: 0.7rem;
  transition: transform var(--bnn-transition-fast);
  opacity: 0.5;
}
.bnn-mobile-nav-item.is-open > .bnn-mobile-nav-link .chevron {
  transform: rotate(180deg);
}

/* Mobile dropdown accordion */
.bnn-mobile-dropdown {
  max-height: 0;
  overflow: hidden;
  background: rgba(255,255,255,0.04);
  transition: max-height var(--bnn-transition-slow);
}
.bnn-mobile-nav-item.is-open .bnn-mobile-dropdown {
  max-height: 600px;
}
.bnn-mobile-dropdown a {
  display: block;
  padding: 0.65rem 1rem 0.65rem 1.75rem;
  color: rgba(255,255,255,0.65);
  font-size: 0.88rem;
  text-decoration: none;
  border-bottom: 1px solid rgba(255,255,255,0.04);
  transition: color var(--bnn-transition-fast), padding-left var(--bnn-transition-fast);
}
.bnn-mobile-dropdown a:hover {
  color: var(--bnn-primary);
  padding-left: 2.25rem;
}

/* Mobile nav footer */
.bnn-mobile-nav-footer {
  padding: 1rem;
  border-top: 1px solid rgba(255,255,255,0.08);
  flex-shrink: 0;
}
.bnn-mobile-social {
  display: flex;
  gap: 0.6rem;
  justify-content: center;
}
.bnn-mobile-social a {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: rgba(255,255,255,0.1);
  color: rgba(255,255,255,0.7);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.85rem;
  text-decoration: none;
  transition: background var(--bnn-transition-fast), color var(--bnn-transition-fast);
}
.bnn-mobile-social a:hover {
  background: var(--bnn-primary);
  color: #fff;
}


/* ============================================================================
   6. DESKTOP NAV MENU
   ============================================================================ */
.bnn-main-nav {
  flex: 1;
}
.bnn-main-nav > ul {
  display: flex;
  align-items: center;
  list-style: none;
  gap: 0;
  height: 100%;
  margin: 0;
  padding: 0;
}

.bnn-main-nav > ul > li {
  position: relative;
  height: 100%;
  display: flex;
  align-items: center;
}

.bnn-main-nav > ul > li > a {
  display: flex;
  align-items: center;
  gap: 0.3rem;
  height: 100%;
  padding: 0 0.85rem;
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--bnn-text-main);
  text-decoration: none;
  white-space: nowrap;
  position: relative;
  transition: color var(--bnn-transition-fast);
}

/* Animated green underline */
.bnn-main-nav > ul > li > a::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  right: 50%;
  height: 3px;
  background: var(--bnn-primary);
  transition: left var(--bnn-transition), right var(--bnn-transition);
}
.bnn-main-nav > ul > li > a:hover,
.bnn-main-nav > ul > li.is-active > a,
.bnn-main-nav > ul > li:hover > a {
  color: var(--bnn-primary);
}
.bnn-main-nav > ul > li > a:hover::after,
.bnn-main-nav > ul > li.is-active > a::after,
.bnn-main-nav > ul > li:hover > a::after {
  left: 0;
  right: 0;
}

/* Chevron for items with dropdown */
.bnn-has-dropdown > a .nav-chevron {
  font-size: 0.6rem;
  opacity: 0.6;
  transition: transform var(--bnn-transition-fast);
}
.bnn-has-dropdown:hover > a .nav-chevron {
  transform: rotate(180deg);
}

/* Dropdown panel */
.bnn-dropdown {
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  min-width: 220px;
  background: #fff;
  border-radius: var(--bnn-radius);
  box-shadow: var(--bnn-shadow-lg);
  border: 1px solid var(--bnn-border);
  border-top: 3px solid var(--bnn-primary);
  padding: 0.5rem 0;
  z-index: var(--z-dropdown);
  opacity: 0;
  visibility: hidden;
  transform: translateX(-50%) translateY(6px);
  transition: opacity var(--bnn-transition),
              visibility var(--bnn-transition),
              transform var(--bnn-transition);
  pointer-events: none;
}

.bnn-has-dropdown:hover .bnn-dropdown,
.bnn-has-dropdown:focus-within .bnn-dropdown {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(0);
  pointer-events: auto;
}

.bnn-dropdown li a {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.6rem 1.1rem;
  font-size: 0.88rem;
  color: var(--bnn-text-main);
  text-decoration: none;
  transition: background var(--bnn-transition-fast),
              color var(--bnn-transition-fast),
              padding-left var(--bnn-transition-fast);
  border-bottom: 1px solid rgba(var(--bnn-border), 0.5);
}
.bnn-dropdown li:last-child a { border-bottom: none; }
.bnn-dropdown li a:hover {
  background: var(--bnn-primary-light);
  color: var(--bnn-primary);
  padding-left: 1.4rem;
}

/* Mega dropdown */
.bnn-mega-dropdown {
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  width: 600px;
  background: #fff;
  border-radius: var(--bnn-radius);
  box-shadow: var(--bnn-shadow-lg);
  border: 1px solid var(--bnn-border);
  border-top: 3px solid var(--bnn-primary);
  padding: 1.25rem;
  z-index: var(--z-dropdown);
  opacity: 0;
  visibility: hidden;
  transition: opacity var(--bnn-transition), visibility var(--bnn-transition), transform var(--bnn-transition);
  transform: translateX(-50%) translateY(6px);
  pointer-events: none;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.5rem 1rem;
}
.bnn-has-dropdown:hover .bnn-mega-dropdown {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(0);
  pointer-events: auto;
}
.bnn-mega-col-title {
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--bnn-primary);
  margin-bottom: 0.5rem;
  padding-bottom: 0.35rem;
  border-bottom: 2px solid var(--bnn-primary-light);
  grid-column: 1 / -1;
}


/* ============================================================================
   7. BREAKING NEWS TICKER
   ============================================================================ */
.bnn-ticker-wrapper {
  background: #fff;
  border-bottom: 1px solid var(--bnn-border);
  display: flex;
  align-items: center;
  height: 40px;
  overflow: hidden;
  position: relative;
  flex-shrink: 0;
}

.bnn-ticker-badge {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  background: var(--bnn-primary);
  color: #fff;
  font-size: 0.75rem;
  font-weight: 700;
  padding: 0 0.9rem;
  height: 100%;
  white-space: nowrap;
  flex-shrink: 0;
  z-index: 2;
  letter-spacing: 0.03em;
  position: relative;
}
.bnn-ticker-badge::after {
  content: '';
  position: absolute;
  right: -10px;
  top: 0;
  bottom: 0;
  width: 10px;
  background: linear-gradient(to right, var(--bnn-primary), transparent);
}

.bnn-ticker-scroll {
  flex: 1;
  overflow: hidden;
  position: relative;
  mask-image: linear-gradient(to right, transparent 0%, black 3%, black 97%, transparent 100%);
  -webkit-mask-image: linear-gradient(to right, transparent 0%, black 3%, black 97%, transparent 100%);
}

.bnn-ticker-track {
  display: flex;
  align-items: center;
  gap: 2.5rem;
  animation: ticker-scroll 40s linear infinite;
  width: max-content;
}
.bnn-ticker-track:hover,
.bnn-ticker-wrapper.is-paused .bnn-ticker-track {
  animation-play-state: paused;
}

.bnn-ticker-item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  white-space: nowrap;
  flex-shrink: 0;
}

.bnn-ticker-thumb {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
  border: 2px solid var(--bnn-border);
}

.bnn-ticker-link {
  font-size: 14px;
  font-family: 'Noto Sans Bengali', 'Hind Siliguri', sans-serif;
  color: var(--bnn-text-main);
  text-decoration: none;
  font-weight: 400;
  transition: color var(--bnn-transition-fast);
}
.bnn-ticker-link:hover { color: var(--bnn-primary); }

.bnn-ticker-sep {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--bnn-primary);
  opacity: 0.5;
  flex-shrink: 0;
}

.bnn-ticker-pause-btn {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: var(--bnn-body-bg);
  border: 1px solid var(--bnn-border);
  color: var(--bnn-text-muted);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-size: 0.65rem;
  margin-right: 0.5rem;
  flex-shrink: 0;
  transition: background var(--bnn-transition-fast), color var(--bnn-transition-fast);
}
.bnn-ticker-pause-btn:hover {
  background: var(--bnn-primary);
  color: #fff;
  border-color: var(--bnn-primary);
}


/* ============================================================================
   8. AD BANNER SLOTS
   ============================================================================ */
.ad-banner-slot {
  width: 100%;
  background: transparent;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-block: 1rem;
  border-radius: var(--bnn-radius-sm);
}

/* Common ad sizes with aspect-ratio to prevent CLS */
.ad-banner-slot.ad-leaderboard  { aspect-ratio: 728/90;  max-width: 728px; }
.ad-banner-slot.ad-billboard    { aspect-ratio: 970/250; max-width: 970px; }
.ad-banner-slot.ad-rectangle    { aspect-ratio: 300/250; max-width: 300px; }
.ad-banner-slot.ad-halfpage     { aspect-ratio: 300/600; max-width: 300px; }
.ad-banner-slot.ad-mobile-banner{ aspect-ratio: 320/50;  max-width: 320px; }
.ad-banner-slot.ad-sidebar      { aspect-ratio: 300/250; width: 100%; }

.ad-placeholder {
  width: 100%;
  height: 100%;
  min-height: 60px;
  border: 2px dashed var(--bnn-border);
  border-radius: var(--bnn-radius-sm);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: var(--bnn-text-light);
  font-size: 0.75rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  background: repeating-linear-gradient(
    45deg,
    transparent,
    transparent 8px,
    rgba(0,0,0,.02) 8px,
    rgba(0,0,0,.02) 16px
  );
  user-select: none;
}
.ad-placeholder span { font-size: 0.65rem; margin-top: 0.2rem; opacity: 0.6; }

/* Slot wrapper with label */
.ad-slot-labeled {
  position: relative;
}
.ad-slot-label {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
  background: var(--bnn-body-bg);
  color: var(--bnn-text-light);
  font-size: 0.6rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 0 0.4rem;
  white-space: nowrap;
}


/* ============================================================================
   9. NEWS CARDS
   ============================================================================ */
.bnn-news-card {
  background: var(--bnn-card-bg);
  border-radius: var(--bnn-radius);
  border: 1px solid var(--bnn-border);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: box-shadow var(--bnn-transition),
              transform var(--bnn-transition);
  position: relative;
}
.bnn-news-card:hover {
  box-shadow: var(--bnn-shadow-hover);
  transform: translateY(-2px);
}

/* Thumbnail wrapper */
.card-thumb-wrap {
  position: relative;
  overflow: hidden;
  background: var(--bnn-body-bg);
  flex-shrink: 0;
}
.card-thumb-wrap .aspect-16-9 { aspect-ratio: 16/9; }
.card-thumb-wrap .aspect-4-3  { aspect-ratio: 4/3; }
.card-thumb-wrap .aspect-1-1  { aspect-ratio: 1/1; }

.card-thumb-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.4s ease;
}
.bnn-news-card:hover .card-thumb-img {
  transform: scale(1.05);
}

/* Category badge (top-left) */
.card-category-badge {
  position: absolute;
  top: 0.5rem;
  left: 0.5rem;
  background: var(--bnn-primary);
  color: #fff;
  font-size: 0.68rem;
  font-weight: 700;
  padding: 0.2rem 0.55rem;
  border-radius: var(--bnn-radius-sm);
  text-decoration: none;
  line-height: 1.4;
  letter-spacing: 0.03em;
  white-space: nowrap;
  transition: background var(--bnn-transition-fast);
  z-index: 2;
}
.card-category-badge:hover { background: var(--bnn-primary-dark); }
.card-category-badge.badge-red   { background: var(--bnn-accent-red); }
.card-category-badge.badge-dark  { background: #333; }
.card-category-badge.badge-live  {
  background: var(--bnn-accent-red);
  animation: live-pulse 1.5s ease-in-out infinite;
}

/* Time badge (bottom-right) */
.card-time-badge {
  position: absolute;
  bottom: 0.4rem;
  right: 0.4rem;
  background: rgba(0,0,0,0.65);
  color: #fff;
  font-size: 0.68rem;
  padding: 0.15rem 0.45rem;
  border-radius: var(--bnn-radius-sm);
  backdrop-filter: blur(4px);
}

/* Gradient overlay for hero cards */
.card-thumb-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0,0,0,0.7) 0%, rgba(0,0,0,0) 55%);
  z-index: 1;
}

/* Card body */
.card-body {
  padding: 0.9rem;
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
}
.card-body-sm { padding: 0.65rem; gap: 0.3rem; }
.card-body-lg { padding: 1.25rem; gap: 0.55rem; }

/* Card title */
.card-title {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.45;
  margin: 0;
}
.card-title a {
  color: var(--bnn-text-main);
  text-decoration: none;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  transition: color var(--bnn-transition-fast);
}
.card-title a:hover { color: var(--bnn-primary); }
.card-title.title-sm a { font-size: 0.9rem; -webkit-line-clamp: 2; }
.card-title.title-lg a { font-size: 1.2rem; -webkit-line-clamp: 3; }
.card-title.title-clamp-2 a { -webkit-line-clamp: 2; }

/* Card excerpt */
.card-excerpt {
  font-size: 0.85rem;
  color: var(--bnn-text-muted);
  line-height: 1.65;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  margin: 0;
}

/* Card meta */
.card-meta {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  flex-wrap: wrap;
  font-size: 0.75rem;
  color: var(--bnn-text-light);
  margin-top: auto;
  padding-top: 0.4rem;
}
.card-meta .meta-sep { opacity: 0.4; font-size: 0.65rem; }
.card-meta a { color: var(--bnn-text-muted); }
.card-meta a:hover { color: var(--bnn-primary); }
.card-meta .meta-author { font-weight: 600; color: var(--bnn-text-muted); }
.card-meta .meta-views { display: flex; align-items: center; gap: 0.2rem; }

/* Card footer */
.card-footer {
  padding: 0.6rem 0.9rem;
  border-top: 1px solid var(--bnn-border);
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 0.75rem;
  color: var(--bnn-text-light);
}

/* ---- Card Layout Variants ---- */

/* Hero card: full image, text overlaid */
.layout-hero {
  border-radius: var(--bnn-radius-lg);
  border: none;
}
.layout-hero .card-thumb-wrap {
  max-height: 60vh;
  position: relative;
}
.layout-hero .card-thumb-wrap.aspect-16-9 { aspect-ratio: 16/9; max-height: 60vh; }
.layout-hero .card-body {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 3;
  background: transparent;
  padding: 1.5rem;
  gap: 0.5rem;
}
.layout-hero .card-title a { color: #fff; font-size: 1.4rem; }
.layout-hero .card-title a:hover { color: rgba(255,255,255,0.85); }
.layout-hero .card-meta { color: rgba(255,255,255,0.7); }
.layout-hero .card-excerpt { color: rgba(255,255,255,0.8); }

/* Compact card: horizontal flex, image 40% */
.layout-compact {
  flex-direction: row;
  border-radius: var(--bnn-radius);
}
.layout-compact .card-thumb-wrap {
  width: 40%;
  min-width: 120px;
  aspect-ratio: unset;
  min-height: 100px;
}
.layout-compact .card-thumb-wrap img { height: 100%; }
.layout-compact .card-body { padding: 0.75rem; }
.layout-compact .card-title { font-size: 0.9rem; }

/* List card: horizontal flex, image 35% */
.layout-list {
  flex-direction: row;
  border-radius: var(--bnn-radius);
  border-bottom: 1px solid var(--bnn-border);
  border-left: none;
  border-right: none;
  border-top: none;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.layout-list:hover { box-shadow: none; transform: none; background: var(--bnn-primary-light); }
.layout-list .card-thumb-wrap {
  width: 35%;
  min-width: 100px;
  aspect-ratio: unset;
  min-height: 80px;
  border-radius: var(--bnn-radius-sm);
}
.layout-list .card-body { padding: 0.6rem 0.75rem; }
.layout-list .card-title { font-size: 0.88rem; }
.layout-list .card-title a { -webkit-line-clamp: 2; }

/* Grid card: standard vertical */
.layout-grid {
  flex-direction: column;
}
.layout-grid .card-thumb-wrap { aspect-ratio: 16/9; }

/* Numbered / rank card */
.layout-rank {
  flex-direction: row;
  align-items: center;
  gap: 0.75rem;
  background: transparent;
  border: none;
  border-bottom: 1px solid var(--bnn-border);
  border-radius: 0;
  padding: 0.75rem 0;
  box-shadow: none;
}
.layout-rank:hover { box-shadow: none; transform: none; }
.layout-rank .rank-number {
  font-size: 1.75rem;
  font-weight: 900;
  color: var(--bnn-primary);
  min-width: 36px;
  line-height: 1;
  text-align: center;
  flex-shrink: 0;
}
.layout-rank:nth-child(1) .rank-number { color: var(--bnn-accent-red); }
.layout-rank .card-title { font-size: 0.9rem; margin: 0; }
.layout-rank .card-title a { -webkit-line-clamp: 2; }
.layout-rank .card-thumb-wrap {
  width: 80px;
  height: 60px;
  aspect-ratio: unset;
  border-radius: var(--bnn-radius-sm);
  flex-shrink: 0;
}


/* ============================================================================
   10. SECTION HEADERS
   ============================================================================ */
.section-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1.25rem;
  padding-bottom: 0.65rem;
  border-bottom: 3px solid var(--bnn-primary);
  position: relative;
}

.section-heading-title {
  font-size: 1.15rem;
  font-weight: 800;
  color: var(--bnn-text-main);
  margin: 0;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.section-heading-title::before {
  content: '';
  display: inline-block;
  width: 4px;
  height: 1.1em;
  background: var(--bnn-primary);
  border-radius: 2px;
  flex-shrink: 0;
}
.section-heading-title.no-bar::before { display: none; }

.section-heading-icon {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
  color: var(--bnn-primary);
}

.section-see-more {
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--bnn-primary);
  text-decoration: none;
  white-space: nowrap;
  display: flex;
  align-items: center;
  gap: 0.3rem;
  transition: gap var(--bnn-transition-fast);
}
.section-see-more:hover { color: var(--bnn-primary-dark); gap: 0.5rem; }
.section-see-more::after { content: '→'; font-size: 0.9em; }

/* Tab-style section headings */
.section-heading-tabs {
  display: flex;
  align-items: flex-end;
  gap: 0;
  margin-bottom: 1.25rem;
  border-bottom: 3px solid var(--bnn-primary);
}
.section-tab {
  padding: 0.5rem 1.1rem;
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--bnn-text-muted);
  cursor: pointer;
  border: 1px solid var(--bnn-border);
  border-bottom: none;
  border-radius: var(--bnn-radius-sm) var(--bnn-radius-sm) 0 0;
  background: var(--bnn-body-bg);
  margin-right: -1px;
  transition: background var(--bnn-transition-fast), color var(--bnn-transition-fast);
  text-decoration: none;
}
.section-tab:hover { background: var(--bnn-primary-light); color: var(--bnn-primary); }
.section-tab.is-active {
  background: var(--bnn-primary);
  color: #fff;
  border-color: var(--bnn-primary);
  position: relative;
  z-index: 1;
}


/* ============================================================================
   11. HOMEPAGE SECTIONS
   ============================================================================ */

/* ---- Hero Banner ---- */
.hero-banner-section {
  padding-block: 1.25rem;
}

.hero-grid {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 1.25rem;
  align-items: start;
}

.hero-main-card {
  grid-column: 1;
}

.hero-side-cards {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

/* ---- Featured Grid Section ---- */
.featured-grid-section { padding-block: 0 2rem; }

.news-grid-three {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.25rem;
}

.news-grid-four {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.25rem;
}

.news-grid-two {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.25rem;
}

/* ---- Main Content + Sidebar Layout ---- */
.main-content-layout,
.layout-with-sidebar {
  display: grid;
  grid-template-columns: 1fr 320px;
  gap: 2rem;
  align-items: start;
}

/* Sticky sidebar */
.sidebar-column {
  position: sticky;
  top: calc(var(--bnn-total-header-h) + 1rem);
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

/* Sidebar widget */
.sidebar-widget {
  background: var(--bnn-card-bg);
  border: 1px solid var(--bnn-border);
  border-radius: var(--bnn-radius);
  overflow: hidden;
}
.sidebar-widget-header {
  background: var(--bnn-primary);
  color: #fff;
  padding: 0.65rem 1rem;
  font-size: 0.9rem;
  font-weight: 700;
  letter-spacing: 0.02em;
}
.sidebar-widget-body { padding: 0.75rem; }

/* Trending list */
.trending-list {
  display: flex;
  flex-direction: column;
  gap: 0;
}
.trending-item {
  display: flex;
  gap: 0.75rem;
  align-items: flex-start;
  padding: 0.75rem 0;
  border-bottom: 1px solid var(--bnn-border);
}
.trending-item:last-child { border-bottom: none; }
.trending-item:hover { background: var(--bnn-primary-light); margin-inline: -0.75rem; padding-inline: 0.75rem; border-radius: var(--bnn-radius-sm); }

.trending-number {
  font-size: 1.4rem;
  font-weight: 900;
  color: var(--bnn-primary);
  line-height: 1;
  min-width: 28px;
  text-align: center;
  flex-shrink: 0;
  margin-top: 0.1rem;
}
.trending-item:nth-child(1) .trending-number { color: #ef4444; }
.trending-item:nth-child(2) .trending-number { color: #f97316; }
.trending-item:nth-child(3) .trending-number { color: #eab308; }

.trending-content { flex: 1; min-width: 0; }
.trending-title {
  font-size: 0.88rem;
  font-weight: 600;
  line-height: 1.45;
  color: var(--bnn-text-main);
  text-decoration: none;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.trending-title:hover { color: var(--bnn-primary); }
.trending-meta { font-size: 0.72rem; color: var(--bnn-text-light); margin-top: 0.25rem; }

/* Category block section */
.category-block-section { padding-bottom: 2rem; }

.category-articles-grid {
  display: grid;
  grid-template-columns: 1.6fr 1fr 1fr;
  gap: 1.25rem;
  align-items: start;
}

.category-main-card { grid-row: 1 / span 2; }
.category-sub-cards { display: flex; flex-direction: column; gap: 1rem; }

/* Latest news list widget */
.latest-news-list { display: flex; flex-direction: column; }
.latest-news-item {
  display: flex;
  gap: 0.6rem;
  padding: 0.7rem 0.75rem;
  border-bottom: 1px solid var(--bnn-border);
  align-items: center;
  text-decoration: none;
  color: var(--bnn-text-main);
  transition: background var(--bnn-transition-fast);
}
.latest-news-item:last-child { border-bottom: none; }
.latest-news-item:hover { background: var(--bnn-primary-light); }
.latest-news-item img {
  width: 60px;
  height: 45px;
  object-fit: cover;
  border-radius: var(--bnn-radius-sm);
  flex-shrink: 0;
}
.latest-news-item-title {
  font-size: 0.84rem;
  font-weight: 600;
  line-height: 1.45;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.latest-news-item-date { font-size: 0.7rem; color: var(--bnn-text-light); margin-top: 0.2rem; }

/* Tag cloud widget */
.tag-cloud { display: flex; flex-wrap: wrap; gap: 0.4rem; padding: 0.75rem; }
.tag-chip {
  display: inline-block;
  padding: 0.3rem 0.7rem;
  border: 1px solid var(--bnn-border);
  border-radius: var(--bnn-radius-full);
  font-size: 0.78rem;
  color: var(--bnn-text-muted);
  text-decoration: none;
  transition: border-color var(--bnn-transition-fast),
              color var(--bnn-transition-fast),
              background var(--bnn-transition-fast);
}
.tag-chip:hover {
  border-color: var(--bnn-primary);
  color: var(--bnn-primary);
  background: var(--bnn-primary-light);
}

/* Photo gallery strip */
.photo-strip {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
  gap: 0.6rem;
}
.photo-strip-item {
  position: relative;
  border-radius: var(--bnn-radius-sm);
  overflow: hidden;
  aspect-ratio: 16/10;
}
.photo-strip-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
}
.photo-strip-item:hover img { transform: scale(1.06); }
.photo-strip-caption {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 0.5rem;
  background: linear-gradient(to top, rgba(0,0,0,0.75), transparent);
  color: #fff;
  font-size: 0.72rem;
  line-height: 1.4;
}


/* ============================================================================
   12. PAGINATION
   ============================================================================ */
.pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  flex-wrap: wrap;
  margin-top: 2.5rem;
  margin-bottom: 1rem;
}

.page-item { display: inline-flex; }

.page-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 38px;
  height: 38px;
  padding: 0 0.6rem;
  border: 1px solid var(--bnn-border);
  border-radius: var(--bnn-radius-sm);
  background: var(--bnn-card-bg);
  color: var(--bnn-text-muted);
  font-size: 0.9rem;
  font-weight: 500;
  text-decoration: none;
  transition: border-color var(--bnn-transition-fast),
              background var(--bnn-transition-fast),
              color var(--bnn-transition-fast),
              box-shadow var(--bnn-transition-fast);
  cursor: pointer;
  user-select: none;
}
.page-link:hover {
  border-color: var(--bnn-primary);
  color: var(--bnn-primary);
  background: var(--bnn-primary-light);
}

.page-item.active .page-link {
  background: var(--bnn-primary);
  border-color: var(--bnn-primary);
  color: #fff;
  box-shadow: 0 2px 8px rgba(var(--bnn-primary-rgb), 0.35);
  pointer-events: none;
}

.page-item.disabled .page-link {
  opacity: 0.4;
  pointer-events: none;
  cursor: default;
}

.page-link.page-prev::before { content: '←'; margin-right: 0.3rem; }
.page-link.page-next::after  { content: '→'; margin-left: 0.3rem;  }

.page-ellipsis {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 38px;
  height: 38px;
  color: var(--bnn-text-light);
  font-size: 0.9rem;
  user-select: none;
}


/* ============================================================================
   13. ARTICLE DETAIL PAGE
   ============================================================================ */
.article-container {
  max-width: 800px;
  margin-inline: auto;
  padding: 1.5rem var(--bnn-container-pad) 3rem;
}

/* Breadcrumb */
.article-breadcrumb {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  flex-wrap: wrap;
  font-size: 0.78rem;
  color: var(--bnn-text-light);
  margin-bottom: 1rem;
}
.article-breadcrumb a {
  color: var(--bnn-text-muted);
  text-decoration: none;
  transition: color var(--bnn-transition-fast);
}
.article-breadcrumb a:hover { color: var(--bnn-primary); }
.article-breadcrumb .sep { opacity: 0.5; font-size: 0.7rem; }
.article-breadcrumb .current { color: var(--bnn-text-main); }

/* Category badge */
.article-category-badge {
  display: inline-flex;
  align-items: center;
  background: var(--bnn-primary);
  color: #fff;
  font-size: 0.75rem;
  font-weight: 700;
  padding: 0.25rem 0.7rem;
  border-radius: var(--bnn-radius-sm);
  text-decoration: none;
  margin-bottom: 0.75rem;
  letter-spacing: 0.04em;
  transition: background var(--bnn-transition-fast);
}
.article-category-badge:hover { background: var(--bnn-primary-dark); color: #fff; }
.article-category-badge.badge-red { background: var(--bnn-accent-red); }

/* Headline */
.article-headline {
  font-size: clamp(1.5rem, 4vw, 2.1rem);
  font-weight: 800;
  line-height: 1.3;
  color: var(--bnn-text-main);
  margin-bottom: 1rem;
  letter-spacing: -0.01em;
}

/* Article deck / subheadline */
.article-deck {
  font-size: 1.1rem;
  color: var(--bnn-text-muted);
  line-height: 1.7;
  margin-bottom: 1.25rem;
  font-weight: 400;
}

/* Meta bar */
.article-meta {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  flex-wrap: wrap;
  font-size: 0.82rem;
  color: var(--bnn-text-muted);
  margin-bottom: 1.5rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--bnn-border);
}
.article-meta .meta-sep { opacity: 0.35; }
.article-meta .meta-author {
  font-weight: 700;
  color: var(--bnn-text-main);
  display: flex;
  align-items: center;
  gap: 0.35rem;
  text-decoration: none;
}
.article-meta .meta-author:hover { color: var(--bnn-primary); }
.article-meta .meta-author img {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
}
.article-meta .meta-date { display: flex; align-items: center; gap: 0.25rem; }
.article-meta .meta-updated { color: var(--bnn-text-light); font-style: italic; }
.article-meta .meta-views { display: flex; align-items: center; gap: 0.25rem; }
.article-meta .meta-read-time { display: flex; align-items: center; gap: 0.25rem; }

/* Featured image */
.article-featured-image {
  width: 100%;
  border-radius: var(--bnn-radius);
  object-fit: cover;
  margin-bottom: 0.5rem;
  max-height: 520px;
}

/* Image caption */
.article-caption {
  font-size: 0.8rem;
  color: var(--bnn-text-light);
  font-style: italic;
  margin-bottom: 1.75rem;
  text-align: center;
  line-height: 1.5;
}

/* Inline share (top, compact) */
.article-inline-share {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 1.5rem;
  flex-wrap: wrap;
}
.article-inline-share span {
  font-size: 0.78rem;
  color: var(--bnn-text-muted);
  font-weight: 600;
}

/* Body text */
.article-body {
  font-size: 1.1rem;
  line-height: 1.95;
  color: var(--bnn-text-main);
}
.article-body p {
  margin-bottom: 1.3em;
  line-height: 1.95;
}
.article-body h2 {
  font-size: 1.45rem;
  font-weight: 800;
  margin: 2em 0 0.75em;
  color: var(--bnn-text-main);
  padding-bottom: 0.35rem;
  border-bottom: 2px solid var(--bnn-primary-light);
}
.article-body h3 {
  font-size: 1.2rem;
  font-weight: 700;
  margin: 1.75em 0 0.6em;
  color: var(--bnn-text-main);
}
.article-body h4 {
  font-size: 1.05rem;
  font-weight: 700;
  margin: 1.5em 0 0.5em;
}
.article-body ul,
.article-body ol {
  padding-left: 1.75rem;
  margin-bottom: 1.3em;
}
.article-body ul { list-style: disc; }
.article-body ol { list-style: decimal; }
.article-body li {
  margin-bottom: 0.5em;
  line-height: 1.8;
}
.article-body blockquote {
  border-left: 4px solid var(--bnn-primary);
  background: #f0f8f0;
  padding: 1.1rem 1.4rem;
  margin: 1.75rem 0;
  border-radius: 0 var(--bnn-radius) var(--bnn-radius) 0;
  font-style: italic;
  color: var(--bnn-text-muted);
  font-size: 1.05rem;
  line-height: 1.75;
}
.article-body blockquote cite {
  display: block;
  font-size: 0.85rem;
  font-style: normal;
  font-weight: 700;
  margin-top: 0.6rem;
  color: var(--bnn-primary);
}
.article-body img {
  max-width: 100%;
  height: auto;
  border-radius: var(--bnn-radius);
  margin: 1rem 0;
}
.article-body figure { margin: 1.5rem 0; }
.article-body figcaption {
  font-size: 0.8rem;
  color: var(--bnn-text-light);
  font-style: italic;
  text-align: center;
  margin-top: 0.4rem;
}
.article-body a {
  color: var(--bnn-primary);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.article-body a:hover { color: var(--bnn-primary-dark); }
.article-body table {
  margin: 1.5rem 0;
  border: 1px solid var(--bnn-border);
  border-radius: var(--bnn-radius-sm);
  overflow: hidden;
}
.article-body th {
  background: var(--bnn-primary);
  color: #fff;
  padding: 0.65rem 1rem;
  text-align: left;
  font-size: 0.88rem;
}
.article-body td {
  padding: 0.6rem 1rem;
  border-bottom: 1px solid var(--bnn-border);
  font-size: 0.9rem;
}
.article-body tr:last-child td { border-bottom: none; }
.article-body tr:nth-child(even) { background: var(--bnn-body-bg); }
.article-body hr { margin: 2rem 0; border-color: var(--bnn-border); }

/* Embedded video */
.article-video-embed {
  position: relative;
  width: 100%;
  aspect-ratio: 16/9;
  margin: 1.5rem 0;
  border-radius: var(--bnn-radius);
  overflow: hidden;
}
.article-video-embed iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: none;
}

/* Tags */
.article-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin-top: 2rem;
  padding-top: 1.25rem;
  border-top: 1px solid var(--bnn-border);
}
.article-tags-label {
  font-size: 0.82rem;
  font-weight: 700;
  color: var(--bnn-text-muted);
  margin-right: 0.3rem;
  align-self: center;
}
.article-tag {
  display: inline-block;
  padding: 0.3rem 0.75rem;
  border: 1px solid var(--bnn-primary);
  border-radius: var(--bnn-radius-full);
  font-size: 0.78rem;
  color: var(--bnn-primary);
  text-decoration: none;
  font-weight: 500;
  transition: background var(--bnn-transition-fast), color var(--bnn-transition-fast);
}
.article-tag:hover {
  background: var(--bnn-primary);
  color: #fff;
}

/* Share buttons */
.share-buttons {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
  margin-top: 1.5rem;
  padding: 1.25rem;
  background: var(--bnn-body-bg);
  border-radius: var(--bnn-radius);
  border: 1px solid var(--bnn-border);
}
.share-buttons-label {
  width: 100%;
  font-size: 0.82rem;
  font-weight: 700;
  color: var(--bnn-text-muted);
  margin-bottom: 0.5rem;
}
.share-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  padding: 0.55rem 1rem;
  border-radius: var(--bnn-radius-full);
  font-size: 0.82rem;
  font-weight: 600;
  color: #fff;
  text-decoration: none;
  cursor: pointer;
  border: none;
  transition: opacity var(--bnn-transition-fast), transform var(--bnn-transition-fast);
  white-space: nowrap;
}
.share-btn:hover { opacity: 0.88; transform: translateY(-1px); color: #fff; }
.share-btn svg { width: 15px; height: 15px; fill: currentColor; }
.share-btn.btn-fb        { background: #1877f2; }
.share-btn.btn-whatsapp  { background: #25d366; }
.share-btn.btn-twitter   { background: #000000; }
.share-btn.btn-copy      { background: #6b7280; }
.share-btn.btn-telegram  { background: #229ed9; }

/* Author box */
.author-box {
  display: flex;
  gap: 1rem;
  align-items: flex-start;
  background: var(--bnn-card-bg);
  border: 1px solid var(--bnn-border);
  border-radius: var(--bnn-radius);
  padding: 1.25rem;
  margin-top: 2rem;
}
.author-box-avatar {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
  border: 3px solid var(--bnn-primary-light);
}
.author-box-name {
  font-size: 1rem;
  font-weight: 700;
  color: var(--bnn-text-main);
  margin-bottom: 0.25rem;
}
.author-box-role {
  font-size: 0.78rem;
  color: var(--bnn-primary);
  font-weight: 600;
  margin-bottom: 0.5rem;
}
.author-box-bio {
  font-size: 0.88rem;
  color: var(--bnn-text-muted);
  line-height: 1.65;
  margin: 0;
}

/* Related articles */
.related-articles {
  margin-top: 2.5rem;
}
.related-articles-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.25rem;
}

/* Comments placeholder */
.comments-section {
  margin-top: 2.5rem;
  padding-top: 2rem;
  border-top: 1px solid var(--bnn-border);
}
.comments-section h3 {
  font-size: 1.15rem;
  font-weight: 700;
  margin-bottom: 1.25rem;
  color: var(--bnn-text-main);
}


/* ============================================================================
   14. SEARCH, AUTHOR, CATEGORY PAGES
   ============================================================================ */

/* Search form */
.search-form-wrap {
  background: var(--bnn-card-bg);
  border-radius: var(--bnn-radius);
  border: 1px solid var(--bnn-border);
  padding: 2rem;
  margin-bottom: 2rem;
}

.search-form {
  display: flex;
  gap: 0.6rem;
}
.search-form input[type="search"],
.search-form input[type="text"] {
  flex: 1;
  padding: 0.75rem 1.25rem;
  border: 2px solid var(--bnn-border);
  border-radius: var(--bnn-radius-full);
  font-size: 1rem;
  outline: none;
  transition: border-color var(--bnn-transition-fast),
              box-shadow var(--bnn-transition-fast);
  background: var(--bnn-body-bg);
  color: var(--bnn-text-main);
}
.search-form input:focus {
  border-color: var(--bnn-primary);
  box-shadow: 0 0 0 3px rgba(var(--bnn-primary-rgb), 0.12);
  background: #fff;
}
.search-form button {
  background: var(--bnn-primary);
  color: #fff;
  border: none;
  padding: 0.75rem 1.75rem;
  border-radius: var(--bnn-radius-full);
  font-size: 1rem;
  font-weight: 600;
  cursor: pointer;
  transition: background var(--bnn-transition-fast);
  white-space: nowrap;
}
.search-form button:hover { background: var(--bnn-primary-dark); }

/* Search results count */
.search-results-count {
  font-size: 0.9rem;
  color: var(--bnn-text-muted);
  margin-bottom: 1.25rem;
  padding: 0.75rem 1rem;
  background: var(--bnn-body-bg);
  border-radius: var(--bnn-radius-sm);
  border-left: 3px solid var(--bnn-primary);
}
.search-results-count strong { color: var(--bnn-text-main); }

/* Search keyword highlight */
.search-highlight { background: rgba(var(--bnn-primary-rgb), 0.15); padding: 0 2px; border-radius: 2px; }

/* Author profile page */
.author-profile {
  background: var(--bnn-card-bg);
  border-radius: var(--bnn-radius-lg);
  border: 1px solid var(--bnn-border);
  overflow: hidden;
  margin-bottom: 2rem;
}
.author-profile-banner {
  height: 180px;
  background: linear-gradient(135deg, var(--bnn-primary) 0%, var(--bnn-primary-dark) 100%);
  position: relative;
}
.author-profile-body {
  padding: 1.5rem;
  display: flex;
  gap: 1.5rem;
  align-items: flex-start;
  margin-top: -50px;
}
.author-profile-avatar {
  width: 100px;
  height: 100px;
  border-radius: 50%;
  object-fit: cover;
  border: 4px solid #fff;
  box-shadow: var(--bnn-shadow);
  flex-shrink: 0;
}
.author-profile-name {
  font-size: 1.5rem;
  font-weight: 800;
  margin-top: 0.5rem;
  color: var(--bnn-text-main);
}
.author-profile-role {
  font-size: 0.9rem;
  color: var(--bnn-primary);
  font-weight: 600;
  margin-bottom: 0.5rem;
}
.author-profile-bio {
  font-size: 0.92rem;
  color: var(--bnn-text-muted);
  line-height: 1.7;
  margin: 0;
}
.author-profile-stats {
  display: flex;
  gap: 1.5rem;
  margin-top: 1rem;
}
.author-stat { text-align: center; }
.author-stat-number { font-size: 1.25rem; font-weight: 800; color: var(--bnn-primary); line-height: 1; }
.author-stat-label  { font-size: 0.72rem; color: var(--bnn-text-muted); margin-top: 0.2rem; }

/* Category header */
.category-header {
  background: linear-gradient(135deg, var(--bnn-primary) 0%, var(--bnn-primary-dark) 100%);
  color: #fff;
  padding: 2.5rem var(--bnn-container-pad);
  margin-bottom: 2rem;
  position: relative;
  overflow: hidden;
}
.category-header::before {
  content: '';
  position: absolute;
  right: -60px;
  top: -60px;
  width: 250px;
  height: 250px;
  border-radius: 50%;
  background: rgba(255,255,255,0.07);
}
.category-header::after {
  content: '';
  position: absolute;
  left: -40px;
  bottom: -80px;
  width: 200px;
  height: 200px;
  border-radius: 50%;
  background: rgba(255,255,255,0.05);
}
.category-header-title {
  font-size: 2rem;
  font-weight: 900;
  color: #fff;
  margin-bottom: 0.3rem;
  position: relative;
  z-index: 1;
}
.category-header-desc {
  font-size: 0.95rem;
  color: rgba(255,255,255,0.8);
  max-width: 600px;
  line-height: 1.6;
  position: relative;
  z-index: 1;
}
.category-header-count {
  display: inline-flex;
  background: rgba(255,255,255,0.15);
  color: rgba(255,255,255,0.9);
  font-size: 0.78rem;
  font-weight: 600;
  padding: 0.25rem 0.7rem;
  border-radius: var(--bnn-radius-full);
  margin-top: 0.75rem;
  position: relative;
  z-index: 1;
}

/* Archive / date filter */
.archive-filter {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin-bottom: 1.5rem;
}
.archive-filter-btn {
  padding: 0.35rem 0.9rem;
  border: 1px solid var(--bnn-border);
  border-radius: var(--bnn-radius-full);
  background: var(--bnn-card-bg);
  font-size: 0.82rem;
  color: var(--bnn-text-muted);
  cursor: pointer;
  transition: background var(--bnn-transition-fast), color var(--bnn-transition-fast), border-color var(--bnn-transition-fast);
  text-decoration: none;
}
.archive-filter-btn:hover,
.archive-filter-btn.is-active {
  background: var(--bnn-primary);
  border-color: var(--bnn-primary);
  color: #fff;
}


/* ============================================================================
   15. FOOTER
   ============================================================================ */
.site-footer {
  background: var(--bnn-footer-bg);
  border-top: 5px solid var(--bnn-primary);
  color: var(--bnn-footer-text);
  margin-top: 3rem;
}

.footer-main {
  padding: 3rem 0 2rem;
}

.footer-grid {
  display: grid;
  grid-template-columns: 1.5fr 1fr 1fr;
  gap: 2.5rem;
}

.footer-widget {}

.footer-widget-about { }
.footer-logo {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
  margin-bottom: 1rem;
}
.footer-logo-text {
  font-size: 1.75rem;
  font-weight: 900;
  color: #fff;
  letter-spacing: -0.02em;
  line-height: 1;
}
.footer-logo-text span { color: var(--bnn-primary); }

.footer-about-text {
  font-size: 0.88rem;
  color: var(--bnn-footer-muted);
  line-height: 1.75;
  margin-bottom: 1.25rem;
}

.footer-widget h3 {
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--bnn-footer-text);
  margin-bottom: 1.1rem;
  padding-bottom: 0.6rem;
  border-bottom: 2px solid var(--bnn-primary);
  display: inline-flex;
  letter-spacing: 0.03em;
}

.footer-links {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  list-style: none;
  padding: 0;
  margin: 0;
}
.footer-links li a {
  color: var(--bnn-footer-muted);
  font-size: 0.88rem;
  text-decoration: none;
  transition: color var(--bnn-transition-fast), padding-left var(--bnn-transition-fast);
  display: flex;
  align-items: center;
  gap: 0.4rem;
}
.footer-links li a::before {
  content: '›';
  color: var(--bnn-primary);
  font-size: 1rem;
  line-height: 1;
  flex-shrink: 0;
}
.footer-links li a:hover {
  color: var(--bnn-primary);
  padding-left: 0.3rem;
}

/* Footer social icons */
.footer-social {
  display: flex;
  gap: 0.6rem;
  flex-wrap: wrap;
}
.footer-social-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: rgba(255,255,255,0.08);
  color: rgba(255,255,255,0.65);
  font-size: 0.9rem;
  text-decoration: none;
  border: 1px solid rgba(255,255,255,0.12);
  transition: background var(--bnn-transition-fast),
              color var(--bnn-transition-fast),
              border-color var(--bnn-transition-fast),
              transform var(--bnn-transition-fast);
  flex-shrink: 0;
}
.footer-social-icon:hover {
  transform: translateY(-2px);
  color: #fff;
}
.footer-social-icon.si-fb:hover  { background: #1877f2; border-color: #1877f2; }
.footer-social-icon.si-tw:hover  { background: #000;    border-color: #333; }
.footer-social-icon.si-yt:hover  { background: #ff0000; border-color: #ff0000; }
.footer-social-icon.si-ig:hover  { background: #e1306c; border-color: #e1306c; }
.footer-social-icon.si-wa:hover  { background: #25d366; border-color: #25d366; }
.footer-social-icon.si-tg:hover  { background: #229ed9; border-color: #229ed9; }
.footer-social-icon svg { width: 17px; height: 17px; fill: currentColor; }

/* Newsletter box in footer */
.footer-newsletter {}
.footer-newsletter-form {
  display: flex;
  gap: 0.4rem;
  margin-top: 0.75rem;
}
.footer-newsletter-form input {
  flex: 1;
  padding: 0.55rem 0.9rem;
  border: 1px solid rgba(255,255,255,0.15);
  background: rgba(255,255,255,0.07);
  color: #fff;
  border-radius: var(--bnn-radius-sm);
  font-size: 0.85rem;
  outline: none;
  min-width: 0;
}
.footer-newsletter-form input::placeholder { color: rgba(255,255,255,0.35); }
.footer-newsletter-form input:focus {
  border-color: var(--bnn-primary);
  background: rgba(255,255,255,0.12);
}
.footer-newsletter-form button {
  background: var(--bnn-primary);
  color: #fff;
  border: none;
  padding: 0.55rem 1rem;
  border-radius: var(--bnn-radius-sm);
  font-size: 0.85rem;
  font-weight: 600;
  cursor: pointer;
  transition: background var(--bnn-transition-fast);
  white-space: nowrap;
  flex-shrink: 0;
}
.footer-newsletter-form button:hover { background: var(--bnn-primary-dark); }

/* Footer bottom bar */
.footer-bottom {
  border-top: 1px solid rgba(255,255,255,0.08);
  padding-block: 1.25rem;
}
.footer-bottom .bnn-container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
}
.footer-copyright {
  font-size: 0.82rem;
  color: var(--bnn-footer-muted);
  text-align: center;
  flex: 1;
}
.footer-copyright a {
  color: var(--bnn-primary);
  text-decoration: none;
}
.footer-copyright a:hover { text-decoration: underline; }
.footer-policy-links {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
}
.footer-policy-links a {
  font-size: 0.78rem;
  color: var(--bnn-footer-muted);
  text-decoration: none;
  transition: color var(--bnn-transition-fast);
}
.footer-policy-links a:hover { color: var(--bnn-primary); }


/* ============================================================================
   16. 404 PAGE
   ============================================================================ */
.error-page {
  min-height: 70vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 4rem var(--bnn-container-pad);
}
.error-page-number {
  font-size: clamp(6rem, 15vw, 10rem);
  font-weight: 900;
  line-height: 1;
  color: var(--bnn-primary);
  letter-spacing: -0.04em;
  position: relative;
  margin-bottom: 0;
}
.error-page-number::after {
  content: '';
  display: block;
  width: 80px;
  height: 4px;
  background: var(--bnn-accent-red);
  border-radius: 2px;
  margin: 0.75rem auto 0;
}
.error-page-title {
  font-size: 1.5rem;
  font-weight: 700;
  margin-top: 1.25rem;
  margin-bottom: 0.75rem;
  color: var(--bnn-text-main);
}
.error-page-text {
  font-size: 1rem;
  color: var(--bnn-text-muted);
  max-width: 440px;
  line-height: 1.7;
  margin-bottom: 2rem;
}
.error-page-actions {
  display: flex;
  gap: 0.75rem;
  flex-wrap: wrap;
  justify-content: center;
}
.btn-primary {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  background: var(--bnn-primary);
  color: #fff;
  padding: 0.7rem 1.5rem;
  border-radius: var(--bnn-radius-full);
  font-size: 0.95rem;
  font-weight: 600;
  text-decoration: none;
  transition: background var(--bnn-transition-fast), transform var(--bnn-transition-fast);
  box-shadow: 0 2px 10px rgba(var(--bnn-primary-rgb), 0.35);
}
.btn-primary:hover {
  background: var(--bnn-primary-dark);
  color: #fff;
  transform: translateY(-1px);
}
.btn-secondary {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  background: transparent;
  color: var(--bnn-text-muted);
  padding: 0.7rem 1.5rem;
  border-radius: var(--bnn-radius-full);
  font-size: 0.95rem;
  font-weight: 600;
  text-decoration: none;
  border: 1px solid var(--bnn-border);
  transition: border-color var(--bnn-transition-fast),
              color var(--bnn-transition-fast),
              background var(--bnn-transition-fast);
}
.btn-secondary:hover {
  border-color: var(--bnn-primary);
  color: var(--bnn-primary);
  background: var(--bnn-primary-light);
}
.error-page-search {
  margin-top: 1.5rem;
  display: flex;
  gap: 0.4rem;
  max-width: 400px;
  width: 100%;
}
.error-page-search input {
  flex: 1;
  padding: 0.6rem 1rem;
  border: 1px solid var(--bnn-border);
  border-radius: var(--bnn-radius-full);
  font-size: 0.9rem;
  outline: none;
  background: var(--bnn-card-bg);
}
.error-page-search input:focus {
  border-color: var(--bnn-primary);
  box-shadow: 0 0 0 3px rgba(var(--bnn-primary-rgb), 0.12);
}
.error-page-search button {
  background: var(--bnn-primary);
  color: #fff;
  border: none;
  padding: 0.6rem 1.1rem;
  border-radius: var(--bnn-radius-full);
  font-size: 0.9rem;
  cursor: pointer;
  transition: background var(--bnn-transition-fast);
  flex-shrink: 0;
}
.error-page-search button:hover { background: var(--bnn-primary-dark); }


/* ============================================================================
   17. DARK MODE
   ============================================================================ */
body.dark-mode {
  --bnn-body-bg:      #0f1117;
  --bnn-card-bg:      #1a1d27;
  --bnn-surface-muted:#1e2130;
  --bnn-text-main:    #e4e6eb;
  --bnn-text-muted:   #9ba3af;
  --bnn-text-light:   #6b7280;
  --bnn-border:       #2d3144;
  --bnn-border-dark:  #3a3f55;
  --bnn-link:         #e4e6eb;
  --bnn-primary-light:#1a2e1a;
  --bnn-footer-bg:    #070809;
}

body.dark-mode .bnn-header,
body.dark-mode .bnn-header-middle,
body.dark-mode .bnn-header-nav {
  background: #12151f;
  border-color: var(--bnn-border);
}

body.dark-mode .bnn-ticker-wrapper {
  background: #12151f;
  border-color: var(--bnn-border);
}

body.dark-mode .bnn-news-card {
  background: var(--bnn-card-bg);
  border-color: var(--bnn-border);
}

body.dark-mode .bnn-social-icon {
  background: #1a1d27;
  border-color: var(--bnn-border);
  color: var(--bnn-text-muted);
}

body.dark-mode .bnn-icon-btn {
  background: #1a1d27;
  border-color: var(--bnn-border);
  color: var(--bnn-text-muted);
}
body.dark-mode .bnn-icon-btn:hover {
  background: var(--bnn-primary-light);
  color: var(--bnn-primary);
}

body.dark-mode .bnn-dropdown,
body.dark-mode .bnn-mega-dropdown {
  background: #1a1d27;
  border-color: var(--bnn-border);
}
body.dark-mode .bnn-dropdown li a {
  color: var(--bnn-text-main);
}
body.dark-mode .bnn-dropdown li a:hover {
  background: var(--bnn-primary-light);
}

body.dark-mode .sidebar-widget {
  background: var(--bnn-card-bg);
  border-color: var(--bnn-border);
}

body.dark-mode .share-buttons {
  background: #12151f;
  border-color: var(--bnn-border);
}

body.dark-mode .author-box {
  background: var(--bnn-card-bg);
  border-color: var(--bnn-border);
}

body.dark-mode .author-profile {
  background: var(--bnn-card-bg);
  border-color: var(--bnn-border);
}

body.dark-mode .page-link {
  background: var(--bnn-card-bg);
  border-color: var(--bnn-border);
  color: var(--bnn-text-muted);
}
body.dark-mode .page-link:hover {
  background: var(--bnn-primary-light);
  border-color: var(--bnn-primary);
  color: var(--bnn-primary);
}

body.dark-mode .article-body blockquote {
  background: #1a2e1a;
}

body.dark-mode #bnnSearchBar {
  background: #12151f;
  border-color: var(--bnn-border);
}
body.dark-mode #bnnSearchBar input {
  background: #1a1d27;
  border-color: var(--bnn-border);
  color: var(--bnn-text-main);
}
body.dark-mode #bnnSearchBar input:focus {
  background: #1e2130;
}

body.dark-mode .search-form input {
  background: #1a1d27;
  border-color: var(--bnn-border);
  color: var(--bnn-text-main);
}
body.dark-mode .search-form input:focus {
  background: #1e2130;
}

body.dark-mode .section-tab {
  background: #1a1d27;
  border-color: var(--bnn-border);
  color: var(--bnn-text-muted);
}
body.dark-mode .section-tab:hover {
  background: var(--bnn-primary-light);
}

body.dark-mode .ad-placeholder {
  border-color: var(--bnn-border);
  color: var(--bnn-text-light);
}

body.dark-mode .tag-chip {
  background: transparent;
  border-color: var(--bnn-border);
  color: var(--bnn-text-muted);
}
body.dark-mode .tag-chip:hover {
  border-color: var(--bnn-primary);
  background: var(--bnn-primary-light);
  color: var(--bnn-primary);
}

body.dark-mode .footer-bottom { border-color: rgba(255,255,255,0.06); }

body.dark-mode .article-tag {
  border-color: var(--bnn-primary);
  color: var(--bnn-primary);
}

body.dark-mode .bnn-mobile-nav-list .bnn-mobile-nav-link {
  color: rgba(255,255,255,0.8);
}

body.dark-mode .btn-secondary {
  border-color: var(--bnn-border);
  color: var(--bnn-text-muted);
}
body.dark-mode .btn-secondary:hover {
  background: var(--bnn-primary-light);
  color: var(--bnn-primary);
}

body.dark-mode .bnn-topbar-right .sep { opacity: 0.3; }

body.dark-mode .category-header {
  background: linear-gradient(135deg, var(--bnn-primary-dark) 0%, #0d4709 100%);
}

body.dark-mode .layout-list { background: transparent; }
body.dark-mode .layout-list:hover { background: var(--bnn-primary-light); }

body.dark-mode .latest-news-item:hover { background: var(--bnn-primary-light); }

body.dark-mode .trending-item:hover { background: var(--bnn-primary-light); }

/* Transition for dark mode toggle */
body,
.bnn-header,
.bnn-header-topbar,
.bnn-header-middle,
.bnn-header-nav,
.bnn-news-card,
.sidebar-widget,
.bnn-dropdown,
.page-link,
#bnnSearchBar {
  transition: background-color var(--bnn-transition),
              color var(--bnn-transition),
              border-color var(--bnn-transition),
              box-shadow var(--bnn-transition);
}


/* ============================================================================
   18. ANIMATIONS
   ============================================================================ */

/* Ticker scroll */
@keyframes ticker-scroll {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

/* Fade in up */
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(24px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Fade in */
@keyframes fadeIn {
  from { opacity: 0; }
  to   { opacity: 1; }
}

/* Shimmer (skeleton loading) */
@keyframes shimmer {
  0%   { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}

/* Skeleton loader */
.skeleton {
  background: linear-gradient(90deg, #e8e8e8 25%, #f5f5f5 50%, #e8e8e8 75%);
  background-size: 200% 100%;
  animation: shimmer 1.4s infinite;
  border-radius: var(--bnn-radius-sm);
}
.skeleton-text { height: 1em; margin-bottom: 0.5em; }
.skeleton-title { height: 1.4em; width: 80%; margin-bottom: 0.75em; }
.skeleton-thumb { aspect-ratio: 16/9; border-radius: var(--bnn-radius); }

/* Fade in animation utility */
.animate-fadeInUp {
  animation: fadeInUp 0.5s ease both;
}
.animate-fadeIn {
  animation: fadeIn 0.35s ease both;
}
.animate-delay-1 { animation-delay: 0.1s; }
.animate-delay-2 { animation-delay: 0.2s; }
.animate-delay-3 { animation-delay: 0.3s; }
.animate-delay-4 { animation-delay: 0.4s; }

/* Bounce in (for notifications/toasts) */
@keyframes bounceIn {
  0%   { transform: scale(0.85); opacity: 0; }
  60%  { transform: scale(1.04); opacity: 1; }
  100% { transform: scale(1); }
}

/* Toast notification */
.bnn-toast {
  position: fixed;
  bottom: 1.5rem;
  right: 1.5rem;
  background: #1a1d27;
  color: #fff;
  padding: 0.9rem 1.25rem;
  border-radius: var(--bnn-radius);
  font-size: 0.9rem;
  box-shadow: var(--bnn-shadow-lg);
  z-index: var(--z-toast);
  display: flex;
  align-items: center;
  gap: 0.6rem;
  animation: bounceIn 0.35s ease;
  max-width: 320px;
  border-left: 3px solid var(--bnn-primary);
}
.bnn-toast.toast-error   { border-color: var(--bnn-accent-red); }
.bnn-toast.toast-success { border-color: var(--bnn-primary); }

/* Spin (loading spinner) */
@keyframes spin {
  to { transform: rotate(360deg); }
}
.bnn-spinner {
  display: inline-block;
  width: 20px;
  height: 20px;
  border: 2px solid var(--bnn-border);
  border-top-color: var(--bnn-primary);
  border-radius: 50%;
  animation: spin 0.7s linear infinite;
}

/* Back to top button */
#bnnBackToTop {
  position: fixed;
  bottom: 1.5rem;
  right: 1.5rem;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: var(--bnn-primary);
  color: #fff;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: var(--bnn-shadow-md);
  z-index: var(--z-sticky);
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px);
  transition: opacity var(--bnn-transition),
              visibility var(--bnn-transition),
              transform var(--bnn-transition),
              background var(--bnn-transition-fast);
}
#bnnBackToTop.is-visible {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
#bnnBackToTop:hover { background: var(--bnn-primary-dark); }
#bnnBackToTop svg { width: 18px; height: 18px; fill: currentColor; }

/* Progress bar */
#bnnReadProgress {
  position: fixed;
  top: 0;
  left: 0;
  height: 3px;
  background: linear-gradient(to right, var(--bnn-primary), var(--bnn-accent-red));
  z-index: var(--z-toast);
  width: 0%;
  transition: width 0.1s linear;
}

/* Live badge animation */
.badge-live-blink {
  animation: live-blink 1s step-end infinite;
}
@keyframes live-blink {
  0%, 100% { opacity: 1; }
  50%       { opacity: 0.3; }
}


/* ============================================================================
   19. PRINT STYLES
   ============================================================================ */
@media print {
  /* Hide UI elements */
  .bnn-header,
  .bnn-header-topbar,
  .bnn-header-middle,
  .bnn-header-nav,
  .bnn-ticker-wrapper,
  .site-footer,
  .sidebar-column,
  .ad-banner-slot,
  .ad-placeholder,
  .share-buttons,
  .article-inline-share,
  .related-articles,
  .comments-section,
  .pagination,
  #bnnMobileNav,
  #bnnNavOverlay,
  #bnnBackToTop,
  #bnnReadProgress,
  .bnn-toast,
  .archive-filter,
  .section-see-more,
  .bnn-yt-live-btn,
  .bnn-icon-btn,
  nav {
    display: none !important;
  }

  /* Page setup */
  body {
    background: #fff !important;
    color: #000 !important;
    font-size: 12pt;
    line-height: 1.6;
  }

  /* Article layout for print */
  .article-container {
    max-width: 100%;
    padding: 0;
  }
  .article-headline {
    font-size: 22pt;
    color: #000;
  }
  .article-body {
    font-size: 11pt;
    line-height: 1.7;
    color: #000;
  }
  .article-body a {
    color: #000;
    text-decoration: underline;
  }
  .article-body a[href^="http"]::after {
    content: " (" attr(href) ")";
    font-size: 0.8em;
    color: #555;
  }
  .article-body blockquote {
    border-left: 3px solid #555;
    background: #f5f5f5;
    color: #333;
  }

  /* Images */
  img {
    max-width: 100% !important;
    page-break-inside: avoid;
  }
  .article-featured-image { max-height: 300px; object-fit: contain; }

  /* Page breaks */
  h1, h2, h3, h4, h5, h6 {
    page-break-after: avoid;
    page-break-inside: avoid;
  }
  p, li { page-break-inside: avoid; }
  figure { page-break-inside: avoid; }
  .bnn-news-card { page-break-inside: avoid; }

  /* Main layout */
  .main-content-layout,
  .layout-with-sidebar {
    display: block !important;
  }
  .bnn-grid-2,
  .bnn-grid-3,
  .bnn-grid-4,
  .news-grid-three,
  .news-grid-four,
  .hero-grid {
    display: block !important;
  }

  /* Card overrides */
  .bnn-news-card {
    border: 1px solid #ccc;
    box-shadow: none;
    margin-bottom: 1rem;
  }

  /* Footer print info */
  .site-footer::before {
    content: "BNN Bangla — বাংলাদেশ নিউজ নেটওয়ার্ক";
    display: block;
    text-align: center;
    font-size: 10pt;
    color: #555;
    padding: 0.5rem;
    border-top: 1px solid #ccc;
  }

  @page {
    margin: 1.5cm;
    size: A4;
  }
}


/* ============================================================================
   20. RESPONSIVE
   ============================================================================ */

/* ---- 1200px: Large screens ---- */
@media (max-width: 1200px) {
  :root {
    --bnn-container-pad: 20px;
  }
  .bnn-grid-4 { grid-template-columns: repeat(3, 1fr); }
  .news-grid-four { grid-template-columns: repeat(3, 1fr); }
  .footer-grid { grid-template-columns: 1.2fr 1fr 1fr; gap: 2rem; }
  .category-articles-grid { grid-template-columns: 1.4fr 1fr 1fr; }
  .bnn-mega-dropdown { width: 480px; }
}

/* ---- 1024px: Laptop ---- */
@media (max-width: 1024px) {
  :root {
    --bnn-header-middle-h: 72px;
    --bnn-total-header-h: 156px;
  }
  .bnn-grid-4 { grid-template-columns: repeat(2, 1fr); }
  .news-grid-four { grid-template-columns: repeat(2, 1fr); }
  .bnn-grid-3 { grid-template-columns: repeat(2, 1fr); }
  .news-grid-three { grid-template-columns: repeat(2, 1fr); }
  .main-content-layout,
  .layout-with-sidebar {
    grid-template-columns: 1fr 280px;
    gap: 1.5rem;
  }
  .sidebar-column { position: static; }
  .category-articles-grid {
    grid-template-columns: 1fr 1fr;
  }
  .category-main-card { grid-row: auto; grid-column: 1 / -1; }
  .hero-grid { grid-template-columns: 1.5fr 1fr; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .footer-widget-about { grid-column: 1 / -1; }
  .bnn-main-nav > ul > li > a { padding: 0 0.6rem; font-size: 0.85rem; }
  .related-articles-grid { grid-template-columns: repeat(2, 1fr); }
  .bnn-grid-5 { grid-template-columns: repeat(3, 1fr); }
}

/* ---- 768px: Tablet ---- */
@media (max-width: 768px) {
  :root {
    --bnn-topbar-h: 32px;
    --bnn-header-middle-h: 64px;
    --bnn-nav-h: 44px;
    --bnn-total-header-h: 140px;
  }

  /* Show hamburger, hide desktop nav */
  #bnnHamburger { display: flex; }
  .bnn-main-nav { display: none; }

  .bnn-show-mobile { display: block; }
  .bnn-hide-mobile { display: none; }

  /* Header middle: 3-col → flex */
  .bnn-header-middle .bnn-container {
    grid-template-columns: auto 1fr auto;
  }
  .bnn-header-social { display: none; }
  .bnn-logo { justify-content: flex-start; }
  .bnn-header-right-controls { justify-content: flex-end; gap: 0.4rem; }
  .bnn-yt-live-btn .btn-text { display: none; }

  /* Ticker */
  .bnn-ticker-badge .badge-label { display: none; }

  /* Grids → single col or 2-col */
  .bnn-grid-2,
  .bnn-grid-3,
  .bnn-grid-4,
  .news-grid-two,
  .news-grid-three,
  .news-grid-four,
  .bnn-grid-5 {
    grid-template-columns: 1fr;
  }
  .bnn-grid-2.keep-2,
  .news-grid-two.keep-2 {
    grid-template-columns: repeat(2, 1fr);
  }

  /* Main layout → single col */
  .main-content-layout,
  .layout-with-sidebar {
    grid-template-columns: 1fr;
  }

  /* Hero */
  .hero-grid { grid-template-columns: 1fr; }
  .layout-hero .card-thumb-wrap { max-height: 50vw; }
  .layout-hero .card-title a { font-size: 1.1rem; }
  .layout-hero .card-body { padding: 1rem; }

  /* Category */
  .category-articles-grid { grid-template-columns: 1fr; }
  .category-main-card { grid-row: auto; }

  /* Article */
  .article-container { padding: 1rem var(--bnn-container-pad) 2rem; }
  .article-headline { font-size: 1.5rem; }
  .article-body { font-size: 1rem; }

  /* Related articles */
  .related-articles-grid { grid-template-columns: 1fr; }

  /* Author profile */
  .author-profile-body { flex-direction: column; align-items: center; text-align: center; }
  .author-profile-avatar { width: 80px; height: 80px; }
  .author-profile-stats { justify-content: center; }

  /* Share buttons */
  .share-buttons { gap: 0.4rem; }
  .share-btn { padding: 0.5rem 0.75rem; font-size: 0.78rem; }

  /* Search form */
  .search-form { flex-direction: column; }
  .search-form button { width: 100%; }

  /* Footer */
  .footer-grid { grid-template-columns: 1fr; gap: 1.5rem; }
  .footer-main { padding: 2rem 0 1.5rem; }
  .footer-bottom .bnn-container { flex-direction: column; text-align: center; gap: 0.75rem; }
  .footer-policy-links { justify-content: center; }

  /* Topbar */
  .bnn-topbar-right .topbar-extras { display: none; }

  /* Pagination */
  .pagination { gap: 0.25rem; }
  .page-link { min-width: 34px; height: 34px; font-size: 0.85rem; }

  /* Section headings */
  .section-heading-tabs { flex-wrap: wrap; }
  .section-tab { font-size: 0.82rem; padding: 0.4rem 0.9rem; }

  /* Error page */
  .error-page-number { font-size: 7rem; }
  .error-page-actions { flex-direction: column; align-items: center; }
  .btn-primary, .btn-secondary { width: 100%; justify-content: center; max-width: 280px; }
}

/* ---- 640px: Large mobile ---- */
@media (max-width: 640px) {
  :root {
    --bnn-topbar-h: 0px;
    --bnn-total-header-h: 108px;
  }

  /* Hide topbar entirely on small phones */
  .bnn-header-topbar { display: none; }

  /* Compact ticker */
  .bnn-ticker-wrapper { height: 36px; }
  .bnn-ticker-thumb { width: 26px; height: 26px; }
  .bnn-ticker-link { font-size: 0.8rem; }

  /* Container padding */
  :root { --bnn-container-pad: 12px; }

  /* Section spacing */
  .bnn-section { padding-block: 1.5rem; }

  /* Layout compact cards: stack on very small screens */
  .layout-compact { flex-direction: column; }
  .layout-compact .card-thumb-wrap { width: 100%; min-height: auto; aspect-ratio: 16/9; }

  /* Article meta — compact */
  .article-meta { gap: 0.4rem; }
  .article-meta .meta-updated,
  .article-meta .meta-views,
  .article-meta .meta-read-time { display: none; }

  /* Share buttons — icon only on very small */
  .share-btn .btn-text { display: none; }
  .share-btn { padding: 0.55rem 0.75rem; min-width: 42px; justify-content: center; }

  /* Grid 2-col back to 1 */
  .bnn-grid-2.keep-2 { grid-template-columns: 1fr; }

  /* Footer newsletter */
  .footer-newsletter-form { flex-direction: column; }
  .footer-newsletter-form button { width: 100%; }

  /* Category header */
  .category-header { padding-block: 1.5rem; }
  .category-header-title { font-size: 1.5rem; }

  /* Author box */
  .author-box { flex-direction: column; align-items: center; text-align: center; }
  .author-box-avatar { width: 64px; height: 64px; }

  /* Breadcrumb */
  .article-breadcrumb { display: none; }

  /* Trending numbers */
  .trending-number { font-size: 1.2rem; min-width: 24px; }

  /* Photo strip */
  .photo-strip { grid-template-columns: repeat(2, 1fr); }

  /* Error page */
  .error-page { padding: 2rem var(--bnn-container-pad); }
  .error-page-number { font-size: 5rem; }
  .error-page-title { font-size: 1.2rem; }
}

/* ---- Small phones (360px) ---- */
@media (max-width: 390px) {
  .bnn-main-nav { display: none; }
  .bnn-yt-live-btn { display: none; }
  .bnn-logo-text { font-size: 1.4rem; }
  .footer-social { justify-content: center; }
  .share-btn { min-width: 38px; padding: 0.5rem; }
}

/* ---- Landscape mobile ---- */
@media (max-height: 480px) and (orientation: landscape) {
  #bnnMobileNav { width: 240px; }
  .bnn-mobile-nav-header { min-height: 50px; padding: 0.6rem 1rem; }
  .bnn-mobile-nav-link { padding: 0.6rem 1rem; }
}

/* ---- High-DPI / Retina ---- */
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
  .bnn-news-card { border-width: 0.5px; }
}

/* ---- Reduced motion ---- */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
  .bnn-ticker-track { animation: none; }
  .bnn-live-dot     { animation: none; }
}

/* ---- Hover-capable devices only ---- */
@media (hover: none) {
  .bnn-news-card:hover { transform: none; box-shadow: var(--bnn-shadow-sm); }
  .bnn-news-card:hover .card-thumb-img { transform: none; }
  .bnn-has-dropdown .bnn-dropdown { display: none; }
}


/* ============================================================================
   21. HEADER & NAVIGATION STRUCTURAL ADAPTER
   Matches components/header.blade.php & components/nav-menu.blade.php
   ============================================================================ */

/* Container alias */
.container,
.bnn-container {
  width: 100%;
  max-width: var(--bnn-max-width, 1280px) !important;
  margin-inline: auto;
  padding-inline: var(--bnn-container-pad, 15px);
  box-sizing: border-box;
}

/* Top bar row */
.bnn-header-topbar {
  background: var(--bnn-primary, #1B8415);
  color: #fff;
  min-height: 38px;
  display: flex;
  align-items: center;
}
.bnn-topbar-container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  gap: 15px;
}
.bnn-topbar-left {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 0.82rem;
  color: #ffffff;
  white-space: nowrap;
}
.bnn-date-icon {
  display: inline-flex;
  align-items: center;
  opacity: 0.9;
}
.bnn-topbar-right {
  flex: 1;
  overflow: hidden;
  display: flex;
  justify-content: flex-end;
}

/* Middle logo bar row */
.bnn-header-middle {
  background: #ffffff;
  border-bottom: 1px solid var(--bnn-border, #E0E2E5);
  padding: 12px 0;
}
.bnn-middle-container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  gap: 20px;
}
.bnn-middle-social {
  display: flex;
  align-items: center;
  gap: 8px;
}
.bnn-social-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: var(--bnn-body-bg, #F0F1F2);
  color: var(--bnn-text-muted, #666);
  border: 1px solid var(--bnn-border, #E0E2E5);
  text-decoration: none;
  transition: all 0.2s ease;
}
.bnn-social-btn:hover {
  transform: translateY(-2px);
  color: #fff;
}
.bnn-social-btn.facebook:hover { background: #1877f2; border-color: #1877f2; }
.bnn-social-btn.youtube:hover  { background: #ff0000; border-color: #ff0000; }
.bnn-social-btn.twitter:hover  { background: #000000; border-color: #000000; }

.bnn-middle-logo {
  text-align: center;
}
.bnn-logo-link {
  text-decoration: none;
  display: inline-block;
}
.bnn-logo-img {
  max-height: 58px;
  width: auto;
}
.bnn-logo-brand {
  font-size: 2.2rem;
  font-weight: 800;
  letter-spacing: -0.02em;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.bnn-logo-brand .logo-accent {
  color: var(--bnn-primary, #1B8415);
}
.bnn-logo-brand .logo-bangla {
  color: var(--bnn-accent-red, #ef4444);
}

.bnn-middle-action {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}
.bnn-yt-live-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: linear-gradient(135deg, #1B8415 0%, #14620f 100%);
  color: #ffffff !important;
  font-size: 0.85rem;
  font-weight: 700;
  padding: 8px 16px;
  border-radius: 9999px;
  text-decoration: none;
  box-shadow: 0 2px 8px rgba(27, 132, 21, 0.3);
  transition: all 0.2s ease;
}
.bnn-yt-live-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 14px rgba(27, 132, 21, 0.45);
}
.live-pulse {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #ef4444;
  box-shadow: 0 0 0 0 rgba(239, 68, 68, 0.7);
  animation: live-pulse-anim 1.5s infinite;
}
@keyframes live-pulse-anim {
  0% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(239, 68, 68, 0.7); }
  70% { transform: scale(1); box-shadow: 0 0 0 6px rgba(239, 68, 68, 0); }
  100% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(239, 68, 68, 0); }
}

/* Nav Bar Row 3 */
.bnn-header-nav {
  background: #ffffff;
  border-bottom: 3px solid var(--bnn-primary, #1B8415);
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
  position: relative;
  z-index: 100;
}
.bnn-nav-container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  position: relative;
  min-height: 48px;
}
.bnn-nav-left {
  display: flex;
  align-items: center;
  min-width: 80px;
  justify-content: flex-start;
  flex: 0 0 auto;
}
.bnn-nav-right {
  display: flex;
  align-items: center;
  min-width: 80px;
  justify-content: flex-end;
  gap: 8px;
  flex: 0 0 auto;
}
.bnn-sidebar-toggle-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: none !important;
  border: none !important;
  cursor: pointer !important;
  padding: 8px 10px !important;
  font-size: 18px !important;
  color: #111111 !important;
  line-height: 1 !important;
  transition: color 0.2s ease !important;
  border-radius: 4px;
}
.bnn-sidebar-toggle-btn:hover {
  color: #1B8415 !important;
}

/* Nav Menu list - Centered and Clean */
.bnn-header-nav,
.bnn-nav-container,
.bnn-main-menu-wrap {
  overflow: visible !important;
}

.bnn-main-menu-wrap {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  position: relative;
}
.bnn-nav-list {
  display: flex;
  align-items: center;
  justify-content: center;
  list-style: none;
  margin: 0;
  padding: 0;
  gap: 2px;
}
.bnn-nav-list .bnn-nav-item {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.bnn-nav-list .bnn-nav-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 10px 12px;
  color: #111111;
  font-family: 'Noto Sans Bengali', 'Hind Siliguri', -apple-system, sans-serif !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1.2;
  text-decoration: none;
  white-space: nowrap;
  transition: color 0.18s ease;
  position: relative;
}
.bnn-nav-list .bnn-nav-link::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  right: 50%;
  height: 3px;
  background: var(--bnn-primary, #1B8415);
  transition: all 0.22s ease;
}
.bnn-nav-list .bnn-nav-link:hover,
.bnn-nav-list .bnn-nav-item.active > .bnn-nav-link {
  color: var(--bnn-primary, #1B8415) !important;
}
.bnn-nav-list .bnn-nav-link:hover::after,
.bnn-nav-list .bnn-nav-item.active > .bnn-nav-link::after {
  left: 8px;
  right: 8px;
}
.bnn-nav-home-link {
  color: var(--bnn-primary, #1B8415) !important;
  font-weight: 700;
}
.bnn-nav-home-link i {
  color: var(--bnn-primary, #1B8415) !important;
  font-size: 0.92rem;
}

/* Desktop Dropdown Menu */
.bnn-dropdown-menu {
  position: absolute !important;
  top: 100% !important;
  left: 0 !important;
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-top: 3px solid var(--bnn-primary, #1B8415) !important;
  border-radius: 0 0 6px 6px !important;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15) !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 6px 0 !important;
  min-width: 190px !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transform: translateY(6px) !important;
  transition: opacity 0.18s ease, transform 0.18s ease, visibility 0.18s ease !important;
  z-index: 99999 !important;
}

/* Hover bridge so mouse transit never flickers */
.bnn-dropdown-menu::before {
  content: '';
  position: absolute;
  top: -12px;
  left: 0;
  right: 0;
  height: 12px;
  background: transparent;
}

/* Dropdown alignment for right-most items */
.bnn-nav-list .bnn-nav-item:last-child .bnn-dropdown-menu,
.bnn-nav-list .bnn-nav-item:nth-last-child(1) .bnn-dropdown-menu,
.bnn-nav-list .bnn-nav-item:nth-last-child(2) .bnn-dropdown-menu {
  left: auto !important;
  right: 0 !important;
}

/* Dropdown Reveal triggers */
.bnn-nav-list .bnn-nav-item:hover > .bnn-dropdown-menu,
.bnn-nav-list .bnn-nav-item.is-open > .bnn-dropdown-menu,
.bnn-nav-list .bnn-nav-item:focus-within > .bnn-dropdown-menu {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: translateY(0) !important;
  display: block !important;
}

/* Chevron icon animation */
.bnn-chevron-icon {
  transition: transform 0.2s ease !important;
  display: inline-block !important;
}
.bnn-nav-item.has-children:hover > .bnn-nav-link .bnn-chevron-icon,
.bnn-nav-item.has-children.is-open > .bnn-nav-link .bnn-chevron-icon {
  transform: rotate(180deg) !important;
}

/* Dropdown List Items */
.bnn-dropdown-menu .bnn-nav-item {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}
.bnn-dropdown-menu .bnn-nav-link {
  display: block !important;
  width: 100% !important;
  padding: 9px 18px !important;
  color: #1e293b !important;
  font-size: 0.92rem !important;
  font-weight: 500 !important;
  text-align: left !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  box-sizing: border-box !important;
  transition: background 0.15s ease, color 0.15s ease !important;
  border-bottom: 1px solid #f1f5f9 !important;
}
.bnn-dropdown-menu .bnn-nav-item:last-child .bnn-nav-link {
  border-bottom: none !important;
}
.bnn-dropdown-menu .bnn-nav-link::after {
  display: none !important;
}
.bnn-dropdown-menu .bnn-nav-link:hover {
  background: #f0fdf4 !important;
  color: #1B8415 !important;
}

body.dark-mode .bnn-dropdown-menu {
  background: #1e293b !important;
  border-color: #334155 !important;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.45) !important;
}
body.dark-mode .bnn-dropdown-menu .bnn-nav-link {
  color: #f1f5f9 !important;
  border-bottom-color: #334155 !important;
}
body.dark-mode .bnn-dropdown-menu .bnn-nav-link:hover {
  background: #0f172a !important;
  color: #4ade80 !important;
}

/* Nav Right controls */
.bnn-nav-right {
  display: flex;
  align-items: center;
  gap: 8px;
}
.bnn-search-toggle-btn,
.bnn-dark-toggle-btn {
  background: none;
  border: none;
  cursor: pointer;
  padding: 8px;
  color: var(--bnn-text-main, #222);
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
}
.bnn-search-toggle-btn:hover,
.bnn-dark-toggle-btn:hover {
  background: var(--bnn-body-bg, #F0F1F2);
  color: var(--bnn-primary, #1B8415);
}

/* Positioning contexts for header search */
.tt_navbar,
#pcNavbar {
  position: -webkit-sticky !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 1045 !important;
}
.bnn-main-header,
.mahamudfutureit_header_1,
#mobileNavbar {
  position: relative !important;
}

/* Dropdown search bar: Pinned directly below the navbar */
.bnn-search-dropdown {
  position: absolute !important;
  top: 100% !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  background: #ffffff;
  border-top: 1px solid var(--bnn-border, #E0E2E5);
  border-bottom: 3px solid var(--bnn-primary, #1B8415);
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.14);
  padding: 14px 0;
  z-index: 1050 !important;
  animation: bnnSearchSlideDown 0.2s cubic-bezier(0.16, 1, 0.3, 1);
}

@keyframes bnnSearchSlideDown {
  from {
    opacity: 0;
    transform: translateY(-8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.bnn-search-form {
  display: flex;
  align-items: center;
  gap: 10px;
  max-width: 650px;
  margin: 0 auto;
  padding: 0 15px;
}
.bnn-search-input {
  flex: 1;
  padding: 10px 18px;
  border: 1.5px solid var(--bnn-border, #E0E2E5);
  border-radius: 9999px;
  font-size: 0.95rem;
  outline: none;
  background: #f8fafc;
  color: #111827;
  transition: all 0.2s ease;
}
.bnn-search-input:focus {
  border-color: var(--bnn-primary, #1B8415);
  background: #ffffff;
  box-shadow: 0 0 0 3px rgba(27, 132, 21, 0.18);
}
.bnn-search-submit-btn {
  background: var(--bnn-primary, #1B8415);
  color: #fff;
  border: none;
  border-radius: 9999px;
  padding: 10px 24px;
  font-size: 0.95rem;
  font-weight: 700;
  cursor: pointer;
  white-space: nowrap;
  transition: background 0.2s ease;
}
.bnn-search-submit-btn:hover {
  background: var(--bnn-primary-dark, #14620f);
  color: #fff;
}
.bnn-search-close-btn {
  background: none;
  border: none;
  font-size: 1.8rem;
  line-height: 1;
  color: var(--bnn-text-muted, #666);
  cursor: pointer;
  padding: 0 8px;
  transition: color 0.2s ease;
}
.bnn-search-close-btn:hover {
  color: #dc3545;
}

/* Dark Mode support for Search Dropdown */
.dark-mode .bnn-search-dropdown,
html.dark-mode .bnn-search-dropdown,
body.dark-mode .bnn-search-dropdown {
  background: #1a1d21 !important;
  border-top-color: #2d3139 !important;
  border-bottom-color: #24aa1c !important;
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.6) !important;
}

.dark-mode .bnn-search-input,
html.dark-mode .bnn-search-input,
body.dark-mode .bnn-search-input {
  background: #23272d !important;
  border-color: #3b4048 !important;
  color: #f3f4f6 !important;
}

.dark-mode .bnn-search-input:focus,
html.dark-mode .bnn-search-input:focus,
body.dark-mode .bnn-search-input:focus {
  border-color: #24aa1c !important;
  box-shadow: 0 0 0 3px rgba(36, 170, 28, 0.25) !important;
}

.dark-mode .bnn-search-input::placeholder,
html.dark-mode .bnn-search-input::placeholder,
body.dark-mode .bnn-search-input::placeholder {
  color: #9ca3af !important;
}

.dark-mode .bnn-search-close-btn,
html.dark-mode .bnn-search-close-btn,
body.dark-mode .bnn-search-close-btn {
  color: #9ca3af !important;
}

.dark-mode .bnn-search-close-btn:hover,
html.dark-mode .bnn-search-close-btn:hover,
body.dark-mode .bnn-search-close-btn:hover {
  color: #f87171 !important;
}

/* Off-canvas mobile drawer & overlay */
.bnn-mobile-drawer-overlay,
#bnnMobileOverlay {
  position: fixed !important;
  inset: 0 !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  background: rgba(0, 0, 0, 0.6) !important;
  z-index: 100000 !important;
  backdrop-filter: blur(2px) !important;
}
.bnn-mobile-drawer,
#mobileMenuOffcanvas,
.offcanvas.bnn-mobile-drawer {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  bottom: 0 !important;
  width: 320px !important;
  max-width: 88vw !important;
  height: 100vh !important;
  background-color: #ffffff !important;
  color: #111827 !important;
  z-index: 100010 !important;
  transform: translateX(-100%) !important;
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  display: flex !important;
  flex-direction: column !important;
  overflow-y: auto !important;
}
.bnn-mobile-drawer.is-open,
.bnn-mobile-drawer.show,
#mobileMenuOffcanvas.show {
  transform: translateX(0) !important;
  visibility: visible !important;
}
.bnn-mobile-drawer-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}
.bnn-mobile-close-btn {
  background: none;
  border: none;
  color: #ffffff;
  font-size: 2rem;
  line-height: 1;
  cursor: pointer;
}
.bnn-mobile-search-wrap {
  padding: 12px 16px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
.bnn-mobile-search-form {
  display: flex;
  background: rgba(255, 255, 255, 0.1);
  border-radius: 6px;
  overflow: hidden;
}
.bnn-mobile-search-form input {
  flex: 1;
  background: none;
  border: none;
  padding: 8px 12px;
  color: #fff;
  font-size: 0.9rem;
  outline: none;
}
.bnn-mobile-search-form button {
  background: var(--bnn-primary, #1B8415);
  border: none;
  color: #fff;
  padding: 0 12px;
  cursor: pointer;
}
.bnn-mobile-menu-body {
  flex: 1;
  padding: 10px 0;
}
.bnn-mobile-nav-list {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
}
.bnn-mobile-drawer .bnn-nav-item,
.bnn-mobile-nav-list .bnn-nav-item {
  display: block !important;
  width: 100% !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
  margin: 0 !important;
  padding: 0 !important;
}
.bnn-mobile-drawer .bnn-nav-link,
.bnn-mobile-nav-list .bnn-nav-link {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: 100% !important;
  padding: 12px 20px !important;
  color: #f8fafc !important; /* Crisp, bright, high-contrast white */
  font-size: 1.08rem !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  background: transparent !important;
  box-sizing: border-box !important;
  transition: color 0.18s ease, background 0.18s ease !important;
}
.bnn-mobile-drawer .bnn-nav-link::after,
.bnn-mobile-nav-list .bnn-nav-link::after {
  display: none !important;
}
.bnn-mobile-drawer .bnn-nav-link:hover,
.bnn-mobile-drawer .bnn-nav-item.active > .bnn-nav-link,
.bnn-mobile-nav-list .bnn-nav-link:hover,
.bnn-mobile-nav-list .bnn-nav-item.active > .bnn-nav-link {
  background: rgba(255, 255, 255, 0.08) !important;
  color: #4ade80 !important;
}
.bnn-mobile-chevron-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #94a3b8 !important;
  font-size: 0.85rem !important;
  margin-left: 8px !important;
  transition: transform 0.25s ease, color 0.2s ease !important;
}
.bnn-mobile-drawer .bnn-nav-item.is-open > .bnn-nav-link .bnn-mobile-chevron-btn {
  transform: rotate(180deg) !important;
  color: #4ade80 !important;
}

/* Mobile Submenu Accordion */
.bnn-mobile-submenu {
  list-style: none !important;
  padding: 4px 0 6px 14px !important;
  margin: 0 !important;
  background: rgba(0, 0, 0, 0.22) !important;
  border-left: 3px solid #1B8415 !important;
  display: none !important;
}
.bnn-mobile-drawer .bnn-nav-item.is-open > .bnn-mobile-submenu {
  display: block !important;
}
.bnn-mobile-submenu .bnn-nav-item {
  border-bottom: 1px solid rgba(255, 255, 255, 0.04) !important;
}
.bnn-mobile-submenu .bnn-nav-link {
  padding: 9px 18px !important;
  font-size: 0.92rem !important;
  color: #cbd5e1 !important;
}
.bnn-mobile-submenu .bnn-nav-link:hover {
  color: #4ade80 !important;
  background: rgba(255, 255, 255, 0.04) !important;
}

.bnn-mobile-drawer-footer {
  padding: 16px 20px !important;
  border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
}
.bnn-mobile-social-links {
  display: flex !important;
  gap: 15px !important;
}
.bnn-mobile-social-links a {
  color: #cbd5e1 !important;
  font-size: 0.9rem !important;
  text-decoration: none !important;
  transition: color 0.2s ease !important;
}
.bnn-mobile-social-links a:hover {
  color: #4ade80 !important;
}

/* Responsive adjustments */
@media (max-width: 1024px) {
  .bnn-sidebar-toggle-btn {
    display: flex;
  }
  .bnn-main-menu-wrap {
    display: none;
  }
  .bnn-middle-social {
    display: none;
  }
}


/* ============================================================================
   22. HERO & COMPACT NEWS CARD FIXES
   Ensures card title, excerpt, and metadata display prominently below image
   ============================================================================ */

.hero-grid {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 20px;
  align-items: stretch;
}

.hero-main-story {
  display: flex;
}

.hero-main-story .bnn-news-card.layout-hero {
  display: flex;
  flex-direction: column;
  position: relative;
  width: 100%;
  border-radius: var(--bnn-radius, 8px);
  border: 1px solid var(--bnn-border, #E0E2E5);
  background: var(--bnn-card-bg, #ffffff);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
  overflow: hidden;
}

.hero-main-story .layout-hero .card-thumb-wrap {
  position: relative;
  aspect-ratio: 16 / 9;
  width: 100%;
  max-height: 420px;
  overflow: hidden;
  background: var(--bnn-body-bg, #F0F1F2);
}

.hero-main-story .layout-hero .card-thumb-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.hero-main-story .layout-hero .card-body {
  position: relative !important;
  background: #ffffff !important;
  padding: 18px 20px !important;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.hero-main-story .layout-hero .card-title {
  margin: 0;
  font-size: 1.45rem;
  font-weight: 700;
  line-height: 1.4;
}

.hero-main-story .layout-hero .card-title a {
  color: var(--bnn-text-main, #222222) !important;
  text-decoration: none;
  transition: color 0.2s ease;
}

.hero-main-story .layout-hero .card-title a:hover {
  color: var(--bnn-primary, #1B8415) !important;
}

.hero-main-story .layout-hero .card-meta {
  color: var(--bnn-text-muted, #666666) !important;
  font-size: 0.85rem;
  display: flex;
  align-items: center;
  gap: 6px;
}

.hero-main-story .layout-hero .card-excerpt {
  color: var(--bnn-text-muted, #555555) !important;
  font-size: 0.95rem;
  line-height: 1.65;
  margin: 0;
}

/* Trailing posts beside hero */
.hero-trailing-posts {
  display: flex;
  flex-direction: column;
  gap: 15px;
}

.hero-trailing-posts .bnn-news-card.layout-compact {
  display: flex;
  flex-direction: row;
  background: #ffffff;
  border-radius: var(--bnn-radius, 8px);
  border: 1px solid var(--bnn-border, #E0E2E5);
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.05);
  overflow: hidden;
  height: 100%;
}

.hero-trailing-posts .layout-compact .card-thumb-wrap {
  width: 42%;
  min-width: 130px;
  position: relative;
  overflow: hidden;
  background: var(--bnn-body-bg, #F0F1F2);
}

.hero-trailing-posts .layout-compact .card-thumb-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.hero-trailing-posts .layout-compact .card-body {
  width: 58%;
  padding: 12px 14px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 6px;
}

.hero-trailing-posts .layout-compact .card-title {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 700;
  line-height: 1.4;
}

.hero-trailing-posts .layout-compact .card-title a {
  color: var(--bnn-text-main, #222222);
  text-decoration: none;
}

.hero-trailing-posts .layout-compact .card-title a:hover {
  color: var(--bnn-primary, #1B8415);
}

.hero-trailing-posts .layout-compact .card-meta {
  color: var(--bnn-text-muted, #777);
  font-size: 0.8rem;
}

/* Category news grid and cards */
.news-grid-three {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}

.bnn-news-card.layout-grid {
  display: flex;
  flex-direction: column;
  background: #ffffff;
  border: 1px solid var(--bnn-border, #E0E2E5);
  border-radius: var(--bnn-radius, 8px);
  overflow: hidden;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.05);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.bnn-news-card.layout-grid:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.1);
}

.bnn-news-card.layout-grid .card-thumb-wrap {
  aspect-ratio: 16 / 9;
  position: relative;
  overflow: hidden;
}

.bnn-news-card.layout-grid .card-thumb-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.bnn-news-card.layout-grid .card-body {
  padding: 14px 16px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.bnn-news-card.layout-grid .card-title {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 700;
  line-height: 1.45;
}

.bnn-news-card.layout-grid .card-title a {
  color: var(--bnn-text-main, #222222);
  text-decoration: none;
}

.bnn-news-card.layout-grid .card-title a:hover {
  color: var(--bnn-primary, #1B8415);
}

/* Ad placeholder styling */
.ad-placeholder {
  border: 1px dashed #cbd5e1;
  background: #f1f5f9;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #94a3b8;
  font-size: 0.9rem;
  min-height: 85px;
}

@media (max-width: 900px) {
  .hero-grid {
    grid-template-columns: 1fr;
  }
  .news-grid-three {
    grid-template-columns: 1fr;
  }
}


/* ============================================================================
   23. COMPACT TOPBAR TICKER & HEADLINE STYLING
   ============================================================================ */

/* Topbar ticker wrapper */
.bnn-ticker-compact {
  background: transparent !important;
  border: none !important;
  height: 38px;
  display: flex;
  align-items: center;
  width: 100%;
  max-width: 780px;
  margin: 0;
  padding: 0;
  overflow: hidden;
}

.bnn-ticker-compact .bnn-ticker-inner {
  display: flex;
  align-items: center;
  width: 100%;
  height: 100%;
  position: relative;
  overflow: hidden;
}

/* Flash badge in compact topbar */
.bnn-ticker-compact .bnn-ticker-badge {
  background: rgba(0, 0, 0, 0.25) !important;
  color: #ffffff !important;
  font-size: 0.78rem;
  font-weight: 700;
  padding: 3px 10px;
  border-radius: 4px;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  white-space: nowrap;
  flex-shrink: 0;
  z-index: 5;
  margin-right: 12px;
}
.bnn-ticker-compact .bnn-ticker-badge::after {
  display: none !important;
}

/* Scrolling track wrapper */
.bnn-ticker-compact .bnn-ticker-track-wrap {
  flex: 1;
  overflow: hidden;
  position: relative;
  height: 100%;
  display: flex;
  align-items: center;
  mask-image: linear-gradient(to right, transparent 0%, black 2%, black 98%, transparent 100%);
  -webkit-mask-image: linear-gradient(to right, transparent 0%, black 2%, black 98%, transparent 100%);
}

.bnn-ticker-compact .bnn-ticker-track {
  display: flex;
  align-items: center;
  white-space: nowrap;
  gap: 2rem;
  width: max-content;
  animation: ticker-scroll-smooth 30s linear infinite;
}

.bnn-ticker-compact .bnn-ticker-track:hover,
.bnn-ticker-compact .bnn-ticker-track.is-paused {
  animation-play-state: paused;
}

@keyframes ticker-scroll-smooth {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}

.bnn-ticker-compact .bnn-ticker-item {
  display: inline-flex;
  align-items: center;
  white-space: nowrap;
  flex-shrink: 0;
}

.bnn-ticker-compact .bnn-ticker-link {
  color: #ffffff !important;
  font-size: 0.85rem;
  font-weight: 500;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  transition: opacity 0.2s ease;
}

.bnn-ticker-compact .bnn-ticker-link:hover {
  opacity: 0.85;
  text-decoration: underline;
}

.bnn-ticker-compact .bnn-ticker-bullet {
  color: #ffffff;
  opacity: 0.6;
}

.bnn-ticker-compact .bnn-ticker-pause-btn {
  background: rgba(255, 255, 255, 0.15) !important;
  color: #ffffff !important;
  border: none !important;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-size: 0.65rem;
  margin-left: 10px;
  flex-shrink: 0;
  transition: background 0.2s ease;
}
.bnn-ticker-compact .bnn-ticker-pause-btn:hover {
  background: rgba(255, 255, 255, 0.3) !important;
}

/* Dark mode text readability fixes for articles */
body.dark-mode .hero-main-story .layout-hero .card-body {
  background: #1a1d27 !important;
}
body.dark-mode .hero-main-story .layout-hero .card-title a {
  color: #ffffff !important;
}
body.dark-mode .hero-trailing-posts .layout-compact {
  background: #1a1d27 !important;
  border-color: #2d3144 !important;
}
body.dark-mode .hero-trailing-posts .layout-compact .card-title a {
  color: #ffffff !important;
}
body.dark-mode .bnn-news-card.layout-grid {
  background: #1a1d27 !important;
  border-color: #2d3144 !important;
}
body.dark-mode .bnn-news-card.layout-grid .card-title a {
  color: #ffffff !important;
}

/* ============================================================================
   NEWSMATIC 100% REPLICATION STYLES — BNN BANGLA
   ============================================================================ */

/* --- 1. Top Bar --- */
.bnn-header-topbar {
  background: #1B8415 !important;
  color: #ffffff !important;
  height: 38px !important;
  display: flex !important;
  align-items: center !important;
  font-size: 13px !important;
  padding: 0 !important;
  border-bottom: none !important;
}
.bnn-topbar-container {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: 100% !important;
  max-width: var(--bnn-max-width) !important;
  margin: 0 auto !important;
  padding: 0 15px !important;
  gap: 15px !important;
}
.bnn-topbar-date-box {
  background: transparent !important;
  color: #ffffff !important;
  padding: 0 !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  white-space: nowrap !important;
  border-radius: 0 !important;
  flex-shrink: 0 !important;
}
.bnn-topbar-ticker-wrap {
  flex: 1 !important;
  overflow: hidden !important;
  white-space: nowrap !important;
  position: relative !important;
}
.bnn-topbar-ticker-scroll {
  display: inline-flex !important;
  align-items: center !important;
  gap: 15px !important;
  animation: topbarTicker 30s linear infinite !important;
}
.bnn-topbar-ticker-scroll:hover {
  animation-play-state: paused !important;
}
@keyframes topbarTicker {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}
.bnn-topbar-ticker-scroll .ticker-bullet {
  color: #ffffff !important;
  font-weight: bold !important;
  font-size: 14px !important;
}
.bnn-topbar-ticker-scroll .ticker-link {
  color: #ffffff !important;
  font-size: 13px !important;
  text-decoration: none !important;
  transition: opacity 0.2s ease !important;
}
.bnn-topbar-ticker-scroll .ticker-link:hover {
  color: #ffffff !important;
  text-decoration: underline !important;
  opacity: 0.9 !important;
}
.bnn-topbar-arrows {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  flex-shrink: 0 !important;
}
.topbar-arrow-btn {
  background: transparent !important;
  border: none !important;
  color: #ffffff !important;
  width: 20px !important;
  height: 20px !important;
  cursor: pointer !important;
  font-weight: bold !important;
  font-size: 13px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: opacity 0.2s ease !important;
  padding: 0 !important;
}
.topbar-arrow-btn:hover {
  opacity: 0.7 !important;
}
.topbar-arrow-sep {
  color: rgba(255, 255, 255, 0.6) !important;
  font-size: 13px !important;
}

/* --- 2. Middle Brand Bar --- */
.bnn-header-middle {
  background: #ffffff !important;
  border-bottom: 1px solid #f0f0f0 !important;
  padding: 16px 0 !important;
}
.bnn-middle-container {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  max-width: var(--bnn-max-width) !important;
  margin: 0 auto !important;
  padding: 0 15px !important;
}
.bnn-middle-social-flat {
  display: flex !important;
  align-items: center !important;
  gap: 15px !important;
}
.flat-social-link {
  color: #222222 !important;
  font-size: 16px !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: color 0.2s ease, transform 0.15s ease !important;
}
.flat-social-link:hover {
  color: #1B8415 !important;
  transform: translateY(-1px) !important;
}
.bnn-yt-live-dark-pill {
  background: #000000 !important;
  color: #ffffff !important;
  padding: 5px 12px !important;
  border-radius: 4px !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  text-decoration: none !important;
  transition: opacity 0.2s ease, transform 0.15s ease !important;
}
.bnn-yt-live-dark-pill:hover {
  opacity: 0.85 !important;
  transform: translateY(-1px) !important;
}
.bnn-yt-live-dark-pill i {
  color: #e50914 !important;
  font-size: 14px !important;
}

/* Center Signature Red Logo Badge */
.bnn-middle-logo {
  text-align: center !important;
}
.bnn-red-logo-badge {
  background: #CC0000 !important;
  color: #ffffff !important;
  padding: 8px 24px !important;
  border-radius: 4px !important;
  display: inline-flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  box-shadow: 0 2px 8px rgba(204, 0, 0, 0.25) !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease !important;
}
.bnn-red-logo-badge:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 4px 12px rgba(204, 0, 0, 0.35) !important;
}
.logo-bnn-txt {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
  font-size: 28px !important;
  font-weight: 900 !important;
  color: #ffffff !important;
  letter-spacing: 2px !important;
  line-height: 1 !important;
}
.logo-bangla-txt {
  font-family: var(--bnn-font-primary, 'Kalpurush', sans-serif) !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  color: #ffffff !important;
  line-height: 1.15 !important;
  margin-top: 2px !important;
}

/* Right Header Actions */
.bnn-middle-actions-wrap {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-end !important;
  gap: 8px !important;
}
.bnn-header-top-links {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
}
.bnn-header-action-link {
  color: #4b5563 !important;
  font-size: 14.5px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  letter-spacing: 0.3px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  transition: color 0.2s ease !important;
}
.bnn-header-action-link:hover {
  color: #1B8415 !important;
}
.bnn-youtube-live-pill {
  background: #CC0000 !important;
  color: #ffffff !important;
  padding: 6px 16px !important;
  border-radius: 9999px !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  text-decoration: none !important;
  box-shadow: 0 2px 6px rgba(204, 0, 0, 0.3) !important;
  transition: all 0.2s ease !important;
}
.bnn-youtube-live-pill:hover {
  background: #b30000 !important;
  transform: translateY(-1px) !important;
  color: #ffffff !important;
}

/* --- 3. Navbar --- */
.bnn-header-nav {
  background: #ffffff !important;
  border-bottom: 2px solid #e5e7eb !important;
  position: relative !important;
  z-index: 99 !important;
}
.bnn-nav-container {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  max-width: var(--bnn-max-width) !important;
  margin: 0 auto !important;
  padding: 0 15px !important;
  height: 48px !important;
}
.bnn-nav-home-icon-btn {
  color: #1B8415 !important;
  font-size: 18px !important;
  padding: 0 12px 0 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  text-decoration: none !important;
  border-right: 1px solid #e5e7eb !important;
  margin-right: 8px !important;
}
.bnn-nav-list {
  display: flex !important;
  align-items: center !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  gap: 4px !important;
}
.bnn-main-menu-wrap .bnn-nav-link {
  color: #1f2937 !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  padding: 10px 12px !important;
  display: inline-block !important;
  text-decoration: none !important;
  transition: color 0.2s ease !important;
}
.bnn-main-menu-wrap .bnn-nav-link:hover,
.bnn-main-menu-wrap .bnn-nav-item.active > .bnn-nav-link {
  color: #1B8415 !important;
}
.bnn-nav-right {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
}
.bnn-search-toggle-btn, .bnn-dark-toggle-btn {
  background: none !important;
  border: none !important;
  color: #4b5563 !important;
  font-size: 17px !important;
  cursor: pointer !important;
  padding: 6px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: color 0.2s ease !important;
}
.bnn-search-toggle-btn:hover, .bnn-dark-toggle-btn:hover {
  color: #1B8415 !important;
}

/* --- 4. Top Ad Banner --- */
.top-ad-promo-banner {
  background: #1e293b !important;
  color: #ffffff !important;
  padding: 22px 30px !important;
  border-radius: 4px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  margin: 15px 0 !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08) !important;
}
.top-ad-promo-banner .promo-badge {
  color: #94a3b8 !important;
  font-size: 13px !important;
  font-weight: 600 !important;
}
.top-ad-promo-banner .promo-text {
  font-size: 19px !important;
  font-weight: 700 !important;
  color: #ffffff !important;
}
.top-ad-promo-banner .promo-btn-green {
  background: #1B8415 !important;
  color: #ffffff !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  padding: 8px 24px !important;
  border-radius: 4px !important;
  text-decoration: none !important;
  transition: background 0.2s ease !important;
}
.top-ad-promo-banner .promo-btn-green:hover {
  background: #14620f !important;
}

/* --- 5. Headline Ticker Bar --- */
.bnn-headline-ticker-bar {
  background: #ffffff !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 4px !important;
  display: flex !important;
  align-items: center !important;
  margin: 15px 0 !important;
  overflow: hidden !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04) !important;
}
.headline-badge {
  background: #1B8415 !important;
  color: #ffffff !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  padding: 12px 18px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
}
.headline-items-viewport {
  flex: 1 !important;
  overflow: hidden !important;
  position: relative !important;
  white-space: nowrap !important;
  display: block !important;
  padding: 0 30px !important;
}
.headline-items-track {
  display: flex !important;
  align-items: center !important;
  width: max-content !important;
  animation: continuousLinearHeadlineFlow 60s linear infinite !important;
  will-change: transform !important;
}
.headline-items-track:hover {
  animation-play-state: paused !important;
}
.headline-flow-group {
  display: flex !important;
  align-items: center !important;
  gap: 65px !important;
  padding-right: 65px !important;
  flex-shrink: 0 !important;
}
.headline-card-item {
  display: inline-flex !important;
  align-items: center !important;
  gap: 14px !important;
  flex-shrink: 0 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}
.headline-thumb {
  width: 52px !important;
  height: 38px !important;
  object-fit: cover !important;
  border-radius: 3px !important;
  flex-shrink: 0 !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12) !important;
}
.headline-meta {
  display: flex !important;
  flex-direction: column !important;
  gap: 3px !important;
  white-space: nowrap !important;
}
.headline-title {
  color: #111827 !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  white-space: nowrap !important;
  display: inline-block !important;
  overflow: visible !important;
  text-overflow: clip !important;
  max-width: none !important;
  transition: color 0.2s ease !important;
}
.headline-card-item:hover .headline-title {
  color: #1B8415 !important;
}
.headline-time {
  color: #6b7280 !important;
  font-size: 11.5px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
}
.headline-nav-btns {
  display: flex !important;
  align-items: center !important;
  flex-shrink: 0 !important;
  height: 100% !important;
  z-index: 2 !important;
}
.headline-pause-btn, .headline-nav-btn {
  background: #1B8415 !important;
  color: #ffffff !important;
  border: none !important;
  width: 48px !important;
  height: 52px !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 14px !important;
  transition: background 0.2s ease !important;
  flex-shrink: 0 !important;
}
.headline-pause-btn:hover, .headline-nav-btn:hover {
  background: #14620f !important;
}

/* --- 6. Hero Section Grid --- */
.hero-banner-section {
  margin: 20px 0 !important;
}
.hero-grid-wrapper {
  display: grid !important;
  grid-template-columns: 2fr 1.15fr !important;
  gap: 16px !important;
}
.hero-card-lead {
  height: 410px !important;
  position: relative !important;
  border-radius: 6px !important;
  overflow: hidden !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08) !important;
}
.hero-card-lead .hero-link, .hero-card-stacked .hero-link {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  position: relative !important;
  text-decoration: none !important;
}
.hero-img-wrap {
  width: 100% !important;
  height: 100% !important;
  position: relative !important;
}
.hero-bg-img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  transition: transform 0.4s ease !important;
}
.hero-link:hover .hero-bg-img {
  transform: scale(1.03) !important;
}
.hero-gradient-overlay {
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.90) 0%, rgba(0, 0, 0, 0.55) 50%, rgba(0, 0, 0, 0.1) 100%) !important;
}
.hero-content-overlay {
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  padding: 24px !important;
  color: #ffffff !important;
}
.hero-cat-badge {
  background: #1B8415 !important;
  color: #ffffff !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  padding: 3px 8px !important;
  border-radius: 3px !important;
  display: inline-block !important;
  margin-bottom: 8px !important;
}
.hero-meta-info {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  font-size: 12px !important;
  color: #d1d5db !important;
  margin-bottom: 8px !important;
}
.hero-main-title {
  font-size: 24px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  color: #ffffff !important;
  margin: 0 0 8px 0 !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8) !important;
}
.hero-main-excerpt {
  font-size: 14px !important;
  color: #e5e7eb !important;
  line-height: 1.5 !important;
  margin: 0 !important;
  opacity: 0.95 !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}
.hero-stacked-cards {
  display: flex !important;
  flex-direction: column !important;
  gap: 16px !important;
  height: 410px !important;
}
.hero-card-stacked {
  flex: 1 !important;
  position: relative !important;
  border-radius: 6px !important;
  overflow: hidden !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08) !important;
}
.hero-card-stacked .hero-content-overlay {
  padding: 16px !important;
}
.hero-stacked-title {
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  color: #ffffff !important;
  margin: 0 !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8) !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

/* --- 7. Secondary Feature Row --- */
.secondary-feature-section {
  margin: 25px 0 !important;
}
.secondary-cards-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 20px !important;
}
.secondary-feature-card {
  background: #ffffff !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 6px !important;
  overflow: hidden !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04) !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease !important;
}
.secondary-feature-card:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08) !important;
}
.secondary-thumb-wrap {
  width: 100% !important;
  height: 210px !important;
  overflow: hidden !important;
}
.secondary-thumb-img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  transition: transform 0.3s ease !important;
}
.secondary-feature-card:hover .secondary-thumb-img {
  transform: scale(1.03) !important;
}
.secondary-body {
  padding: 18px !important;
}
.secondary-cat-badge {
  background: #1B8415 !important;
  color: #ffffff !important;
  font-size: 11.5px !important;
  font-weight: 700 !important;
  padding: 2px 7px !important;
  border-radius: 3px !important;
  display: inline-block !important;
  margin-bottom: 8px !important;
  text-decoration: none !important;
}
.secondary-title {
  font-size: 17px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  margin: 0 0 8px 0 !important;
}
.secondary-title a {
  color: #111827 !important;
  text-decoration: none !important;
  transition: color 0.2s ease !important;
}
.secondary-title a:hover {
  color: #1B8415 !important;
}
.secondary-meta {
  display: flex !important;
  gap: 14px !important;
  color: #6b7280 !important;
  font-size: 12px !important;
}

/* --- 8. Middle Promotional Banner Ad --- */
.middle-promo-banner-dark {
  background: #1e293b !important;
  color: #ffffff !important;
  padding: 24px 35px !important;
  border-radius: 4px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  margin: 25px 0 !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08) !important;
}
.middle-promo-banner-dark .mp-left h2 {
  font-size: 20px !important;
  font-weight: 700 !important;
  color: #ffffff !important;
  margin: 0 !important;
}
.middle-promo-banner-dark .mp-center span {
  font-size: 14px !important;
  color: #94a3b8 !important;
}
.middle-promo-banner-dark .mp-buy-btn {
  background: #ffffff !important;
  color: #111827 !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  padding: 8px 24px !important;
  border-radius: 4px !important;
  text-decoration: none !important;
  transition: background 0.2s ease !important;
}
.middle-promo-banner-dark .mp-buy-btn:hover {
  background: #e2e8f0 !important;
}

/* --- 9. Main Split Layout --- */
.main-body-split-section {
  margin: 30px 0 !important;
}
.main-split-layout {
  display: grid !important;
  grid-template-columns: 2.3fr 1fr !important;
  gap: 25px !important;
}
.section-heading-bar {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  border-bottom: 2px solid #e5e7eb !important;
  padding-bottom: 8px !important;
  margin-bottom: 18px !important;
}
.section-heading-bar.simple {
  border-bottom: 2px solid #e5e7eb !important;
}
.section-title, .sub-section-title {
  font-size: 18px !important;
  font-weight: 700 !important;
  color: #111827 !important;
  margin: 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}
.title-accent-bar {
  width: 4px !important;
  height: 18px !important;
  background: #1B8415 !important;
  border-radius: 2px !important;
  display: inline-block !important;
}
.sec-ctrl-btn {
  background: #f3f4f6 !important;
  border: 1px solid #e5e7eb !important;
  color: #4b5563 !important;
  width: 28px !important;
  height: 28px !important;
  border-radius: 3px !important;
  cursor: pointer !important;
  font-size: 11px !important;
}

/* Latest Posts 2-grid */
.latest-cards-two-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 18px !important;
}
.latest-post-card {
  background: #ffffff !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 6px !important;
  overflow: hidden !important;
}
.l-thumb-wrap {
  position: relative !important;
  width: 100% !important;
  height: 190px !important;
}
.l-thumb-img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}
.l-cat-badge {
  position: absolute !important;
  top: 10px !important;
  left: 10px !important;
  background: #1B8415 !important;
  color: #ffffff !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  padding: 2px 7px !important;
  border-radius: 3px !important;
  text-decoration: none !important;
}
.l-body {
  padding: 15px !important;
}
.l-title {
  font-size: 16.5px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  margin: 0 0 6px 0 !important;
}
.l-title a {
  color: #111827 !important;
  text-decoration: none !important;
}
.l-title a:hover {
  color: #1B8415 !important;
}
.l-meta {
  color: #6b7280 !important;
  font-size: 12px !important;
  margin-bottom: 8px !important;
}
.l-excerpt {
  color: #4b5563 !important;
  font-size: 13.5px !important;
  line-height: 1.5 !important;
  margin: 0 !important;
}

/* Two Column Sub-Row (Popular & Latest) */
.two-column-sub-row {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 20px !important;
  margin: 25px 0 !important;
}
.popular-two-cards {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 12px !important;
}
.popular-card-mini {
  background: #ffffff !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 4px !important;
  padding: 10px !important;
}
.pop-thumb-wrap {
  position: relative !important;
  width: 100% !important;
  height: 100px !important;
  margin-bottom: 8px !important;
}
.pop-thumb {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  border-radius: 3px !important;
}
.pop-cat-badge {
  position: absolute !important;
  bottom: 4px !important;
  left: 4px !important;
  background: #1B8415 !important;
  color: #ffffff !important;
  font-size: 10px !important;
  padding: 1px 5px !important;
  border-radius: 2px !important;
}
.pop-title {
  font-size: 13.5px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  margin: 0 !important;
}
.pop-title a {
  color: #111827 !important;
  text-decoration: none !important;
}
.pop-title a:hover {
  color: #1B8415 !important;
}

/* Compact list */
.compact-list-items {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
}
.compact-list-row {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  padding-bottom: 10px !important;
  border-bottom: 1px solid #f3f4f6 !important;
}
.c-info {
  flex: 1 !important;
}
.c-title {
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  margin: 0 0 4px 0 !important;
}
.c-title a {
  color: #111827 !important;
  text-decoration: none !important;
}
.c-title a:hover {
  color: #1B8415 !important;
}
.c-time {
  font-size: 11.5px !important;
  color: #6b7280 !important;
}
.c-thumb-wrap {
  position: relative !important;
  width: 75px !important;
  height: 60px !important;
  flex-shrink: 0 !important;
}
.c-thumb {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  border-radius: 4px !important;
}
.c-cat-pill {
  position: absolute !important;
  bottom: 2px !important;
  left: 2px !important;
  background: #1B8415 !important;
  color: #ffffff !important;
  font-size: 9px !important;
  padding: 1px 4px !important;
  border-radius: 2px !important;
}

/* Highlight News */
.highlight-list-cards {
  display: flex !important;
  flex-direction: column !important;
  gap: 18px !important;
  margin-bottom: 25px !important;
}
.highlight-horizontal-card {
  display: flex !important;
  gap: 20px !important;
  background: #ffffff !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 6px !important;
  overflow: hidden !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04) !important;
}
.h-thumb-wrap {
  width: 240px !important;
  flex-shrink: 0 !important;
  position: relative !important;
}
.h-thumb-img {
  width: 100% !important;
  height: 100% !important;
  min-height: 160px !important;
  object-fit: cover !important;
}
.h-cat-badge {
  position: absolute !important;
  top: 10px !important;
  left: 10px !important;
  background: #1B8415 !important;
  color: #ffffff !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  padding: 2px 7px !important;
  border-radius: 3px !important;
}
.h-body {
  padding: 18px 20px 18px 0 !important;
  flex: 1 !important;
}
.h-title {
  font-size: 17px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  margin: 0 0 6px 0 !important;
}
.h-title a {
  color: #111827 !important;
  text-decoration: none !important;
}
.h-title a:hover {
  color: #1B8415 !important;
}
.h-meta {
  display: flex !important;
  gap: 8px !important;
  font-size: 12px !important;
  color: #6b7280 !important;
  margin-bottom: 10px !important;
}
.h-excerpt {
  color: #4b5563 !important;
  font-size: 13.5px !important;
  line-height: 1.55 !important;
  margin: 0 0 12px 0 !important;
}
.h-readmore-btn {
  color: #1B8415 !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
}

/* Right Sidebar Widgets */
.sidebar-widget-card {
  background: #ffffff !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 6px !important;
  padding: 18px !important;
  margin-bottom: 22px !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04) !important;
}
.trending-lead-item {
  margin-bottom: 16px !important;
}
.tt-thumb-wrap {
  width: 100% !important;
  height: 160px !important;
  border-radius: 4px !important;
  overflow: hidden !important;
  margin-bottom: 10px !important;
}
.tt-img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}
.tt-cat-badge {
  background: #1B8415 !important;
  color: #ffffff !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  padding: 2px 7px !important;
  border-radius: 3px !important;
  display: inline-block !important;
  margin-bottom: 6px !important;
}
.tt-title {
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  margin: 0 0 6px 0 !important;
}
.tt-title a {
  color: #111827 !important;
  text-decoration: none !important;
}
.tt-title a:hover {
  color: #1B8415 !important;
}
.tt-meta-row {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
}
.tt-time {
  font-size: 12px !important;
  color: #6b7280 !important;
}
.tt-rank-huge {
  font-size: 34px !important;
  font-weight: 900 !important;
  color: #e5e7eb !important;
  line-height: 1 !important;
  font-style: italic !important;
}
.trending-rank-row {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 10px 0 !important;
  border-top: 1px solid #f3f4f6 !important;
}
.rank-circle {
  width: 26px !important;
  height: 26px !important;
  border-radius: 50% !important;
  background: #1B8415 !important;
  color: #ffffff !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-weight: 700 !important;
  font-size: 11.5px !important;
  flex-shrink: 0 !important;
}
.rank-info {
  flex: 1 !important;
}
.rank-title {
  font-size: 13.5px !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
  color: #111827 !important;
  text-decoration: none !important;
  display: block !important;
  margin-bottom: 2px !important;
}
.rank-title:hover {
  color: #1B8415 !important;
}
.rank-time {
  font-size: 11px !important;
  color: #9ca3af !important;
}

/* Sidebar Ad */
.sidebar-ad-box {
  height: 220px !important;
  background: #0f172a !important;
  color: #ffffff !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 4px !important;
  text-align: center !important;
  padding: 15px !important;
}
.sidebar-ad-box .ad-label {
  font-size: 10px !important;
  color: #94a3b8 !important;
  letter-spacing: 1px !important;
  margin-bottom: 6px !important;
}
.sidebar-ad-box strong {
  font-size: 18px !important;
  color: #38bdf8 !important;
  margin-top: 4px !important;
}

/* Sidebar Ad Container */
.sidebar-ad-container {
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.sidebar-ad-container:hover {
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.08) !important;
}
.sidebar-ad-card {
  transition: transform 0.2s ease;
}
.sidebar-ad-card:hover {
  transform: translateY(-2px);
}

/* Dark Mode for Sidebar Ad */
.dark-mode .sidebar-ad-container,
html.dark-mode .sidebar-ad-container,
body.dark-mode .sidebar-ad-container {
  background-color: #111827 !important;
  border-color: #1f2937 !important;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.45) !important;
}
.dark-mode .sidebar-ad-header,
html.dark-mode .sidebar-ad-header,
body.dark-mode .sidebar-ad-header {
  border-bottom-color: #1f2937 !important;
}
.dark-mode .sidebar-ad-header .badge,
html.dark-mode .sidebar-ad-header .badge,
body.dark-mode .sidebar-ad-header .badge {
  background-color: #1f2937 !important;
  color: #9ca3af !important;
  border-color: #374151 !important;
}
.dark-mode .sidebar-ad-header a,
html.dark-mode .sidebar-ad-header a,
body.dark-mode .sidebar-ad-header a {
  color: #22c55e !important;
}
.dark-mode .sidebar-ad-header a:hover,
html.dark-mode .sidebar-ad-header a:hover,
body.dark-mode .sidebar-ad-header a:hover {
  color: #4ade80 !important;
}

/* Search Form */
.sidebar-search-form {
  display: flex !important;
  gap: 6px !important;
}
.sidebar-search-form input {
  flex: 1 !important;
  padding: 8px 12px !important;
  border: 1px solid #d1d5db !important;
  border-radius: 4px !important;
  font-size: 13.5px !important;
  outline: none !important;
}
.sidebar-search-btn {
  background: #1B8415 !important;
  color: #ffffff !important;
  border: none !important;
  padding: 8px 16px !important;
  border-radius: 4px !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  cursor: pointer !important;
}

/* Sidebar Bullet List */
.sidebar-bullet-list {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
.sidebar-bullet-list li {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 8px 0 !important;
  border-bottom: 1px solid #f9fafb !important;
  font-size: 13.5px !important;
}
.sidebar-bullet-list li i {
  color: #1B8415 !important;
  font-size: 11px !important;
}
.sidebar-bullet-list li a {
  color: #374151 !important;
  text-decoration: none !important;
}
.sidebar-bullet-list li a:hover {
  color: #1B8415 !important;
}

/* --- 10. Modern Editorial Footer Styles (Matches Website Body Background) --- */
.bnn-site-footer,
/* ============================================================================
   BNN Editorial Footer (Adaptive Layout matching exact reference)
   - Matches body color in Light Mode (#F0F1F2)
   - Matches dark background in Dark Mode (#0c0d14)
   ============================================================================ */
.mahamudfutureit_footer,
.bnn-site-footer-dark,
.bnn-site-footer-adaptive {
  background-color: var(--bnn-body-bg, #F0F1F2) !important;
  color: var(--bnn-text-main, #222222) !important;
  border-top: 2px solid var(--bnn-border, #E0E2E5) !important;
  padding-top: 28px !important;
  margin-top: 3rem !important;
  transition: background-color 0.25s ease, border-color 0.25s ease, color 0.25s ease !important;
}

.bnn-site-footer-adaptive .border-bottom,
.bnn-site-footer-adaptive .footer_top,
.bnn-site-footer-adaptive .footer-main-content,
.bnn-site-footer-adaptive .footer_middle {
  border-bottom: 1px solid var(--bnn-border, #E0E2E5) !important;
}

.bnn-site-footer-adaptive .footer-section-box {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  height: 100% !important;
}

.bnn-site-footer-adaptive .footer-col-title {
  font-size: 16px !important;
  font-weight: 700 !important;
  color: #0f172a !important;
  border-bottom: 1px solid var(--bnn-border, #E0E2E5) !important;
  padding-bottom: 8px !important;
  margin: 0 0 16px 0 !important;
  font-family: var(--bnn-font-primary) !important;
}

.bnn-site-footer-adaptive .footer-article-row {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  padding-bottom: 10px !important;
  border-bottom: 1px solid rgba(0, 0, 0, 0.05) !important;
}
.bnn-site-footer-adaptive .footer-article-row:last-child {
  padding-bottom: 0 !important;
  border-bottom: none !important;
}

.bnn-site-footer-adaptive .footer-news-link,
.bnn-site-footer-adaptive .f-title a,
.bnn-site-footer-adaptive .f-lead-title a {
  color: #1e293b !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  transition: color 0.15s ease !important;
}
.bnn-site-footer-adaptive .footer-news-link:hover,
.bnn-site-footer-adaptive .f-title a:hover,
.bnn-site-footer-adaptive .f-lead-title a:hover {
  color: var(--bnn-primary, #1B8415) !important;
}

.bnn-site-footer-adaptive .footer-disclaimer-txt,
.bnn-site-footer-adaptive .footer-copyright-disclaimer {
  font-size: 16px !important;
  line-height: 1.6 !important;
  font-weight: 500 !important;
  color: #475569 !important;
  background: transparent !important;
  border: none !important;
}

.bnn-site-footer-adaptive .tt_cargory_list {
  color: #475569 !important;
  font-size: 13.5px !important;
  text-decoration: none !important;
  transition: color 0.15s ease !important;
}
.bnn-site-footer-adaptive .tt_cargory_list:hover {
  color: var(--bnn-primary, #1B8415) !important;
  text-decoration: underline !important;
}

.bnn-site-footer-adaptive .footer-address-txt {
  color: #334155 !important;
}

.bnn-site-footer-adaptive .footer-cpt-txt,
.bnn-site-footer-adaptive .mahamudfutureit_footer_cpt {
  color: #64748b !important;
}

/* Social Menu Buttons - Brand Colors (Header & Footer) */
.bnn-site-footer-adaptive .mahamudfutureit_social_menu a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 32px !important;
  height: 32px !important;
  border-radius: 6px !important;
  font-size: 13px !important;
  text-decoration: none !important;
  color: #ffffff !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12) !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease, filter 0.2s ease, background-color 0.2s ease !important;
}
.bnn-site-footer-adaptive .mahamudfutureit_social_menu a:hover {
  color: #ffffff !important;
  transform: translateY(-2px) scale(1.06) !important;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.25) !important;
}
.bnn-site-footer-adaptive .mahamudfutureit_social_menu a.facebook { background-color: #1877f2 !important; border: 1px solid #1877f2 !important; color: #ffffff !important; }
.bnn-site-footer-adaptive .mahamudfutureit_social_menu a.facebook:hover { background-color: #0d65d9 !important; border-color: #0d65d9 !important; }

.bnn-site-footer-adaptive .mahamudfutureit_social_menu a.twitter { background-color: #000000 !important; border: 1px solid #334155 !important; color: #ffffff !important; }
.bnn-site-footer-adaptive .mahamudfutureit_social_menu a.twitter:hover { background-color: #1a1a1a !important; border-color: #475569 !important; }

.bnn-site-footer-adaptive .mahamudfutureit_social_menu a.youtube { background-color: #ff0000 !important; border: 1px solid #ff0000 !important; color: #ffffff !important; }
.bnn-site-footer-adaptive .mahamudfutureit_social_menu a.youtube:hover { background-color: #d90000 !important; border-color: #d90000 !important; }

.bnn-site-footer-adaptive .mahamudfutureit_social_menu a.whatsapp { background-color: #25d366 !important; border: 1px solid #25d366 !important; color: #ffffff !important; }
.bnn-site-footer-adaptive .mahamudfutureit_social_menu a.whatsapp:hover { background-color: #1eb856 !important; border-color: #1eb856 !important; }

.bnn-site-footer-adaptive .mahamudfutureit_social_menu a.envelope { background-color: #ea4335 !important; border: 1px solid #ea4335 !important; color: #ffffff !important; }
.bnn-site-footer-adaptive .mahamudfutureit_social_menu a.envelope:hover { background-color: #c5221f !important; border-color: #c5221f !important; }

.bnn-site-footer-adaptive .mahamudfutureit_social_menu a.linkedin { background-color: #0a66c2 !important; border: 1px solid #0a66c2 !important; color: #ffffff !important; }
.bnn-site-footer-adaptive .mahamudfutureit_social_menu a.linkedin:hover { background-color: #084e96 !important; border-color: #084e96 !important; }

/* Secondary Legal Nav Links - Light Mode */
.bnn-site-footer-adaptive .secondary-nav-link,
.bnn-site-footer-adaptive .secondary_menu_tt a {
  color: #475569 !important;
  text-decoration: none !important;
  font-weight: 400 !important;
  transition: color 0.15s ease !important;
}
.bnn-site-footer-adaptive .secondary-nav-link:hover,
.bnn-site-footer-adaptive .secondary_menu_tt a:hover {
  color: var(--bnn-primary, #1B8415) !important;
  text-decoration: underline !important;
}

.bnn-site-footer-adaptive .footer-dev-txt,
.bnn-site-footer-adaptive .developer_contact {
  color: #64748b !important;
}
.bnn-site-footer-adaptive .footer_bottom {
  background: transparent !important;
  padding: 14px 0 !important;
}

/* ============================================================================
   DARK MODE ADAPTATION: Automatically matches dark body when toggled
   ============================================================================ */
html.dark-mode .bnn-site-footer-adaptive,
body.dark-mode .bnn-site-footer-adaptive,
html.dark-mode .mahamudfutureit_footer,
body.dark-mode .mahamudfutureit_footer {
  background-color: var(--bnn-body-bg, #0c0d14) !important;
  color: #f8fafc !important;
  border-top-color: #232733 !important;
}

html.dark-mode .bnn-site-footer-adaptive .border-bottom,
body.dark-mode .bnn-site-footer-adaptive .border-bottom,
html.dark-mode .bnn-site-footer-adaptive .footer_top,
body.dark-mode .bnn-site-footer-adaptive .footer_top,
html.dark-mode .bnn-site-footer-adaptive .footer-main-content,
body.dark-mode .bnn-site-footer-adaptive .footer-main-content,
html.dark-mode .bnn-site-footer-adaptive .footer_middle,
body.dark-mode .bnn-site-footer-adaptive .footer_middle {
  border-bottom-color: rgba(255, 255, 255, 0.12) !important;
}

html.dark-mode .bnn-site-footer-adaptive .footer-section-box,
body.dark-mode .bnn-site-footer-adaptive .footer-section-box {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
}

html.dark-mode .bnn-site-footer-adaptive .footer-col-title,
body.dark-mode .bnn-site-footer-adaptive .footer-col-title {
  color: #ffffff !important;
  border-bottom-color: rgba(255, 255, 255, 0.15) !important;
}

html.dark-mode .bnn-site-footer-adaptive .footer-article-row,
body.dark-mode .bnn-site-footer-adaptive .footer-article-row {
  border-bottom-color: rgba(255, 255, 255, 0.08) !important;
}

html.dark-mode .bnn-site-footer-adaptive .footer-news-link,
body.dark-mode .bnn-site-footer-adaptive .footer-news-link,
html.dark-mode .bnn-site-footer-adaptive .f-title a,
body.dark-mode .bnn-site-footer-adaptive .f-title a,
html.dark-mode .bnn-site-footer-adaptive .f-lead-title a,
body.dark-mode .bnn-site-footer-adaptive .f-lead-title a {
  color: #f1f5f9 !important;
}
html.dark-mode .bnn-site-footer-adaptive .footer-news-link:hover,
body.dark-mode .bnn-site-footer-adaptive .footer-news-link:hover,
html.dark-mode .bnn-site-footer-adaptive .f-title a:hover,
body.dark-mode .bnn-site-footer-adaptive .f-title a:hover,
html.dark-mode .bnn-site-footer-adaptive .f-lead-title a:hover,
body.dark-mode .bnn-site-footer-adaptive .f-lead-title a:hover {
  color: #4ade80 !important;
}

html.dark-mode .bnn-site-footer-adaptive .footer-disclaimer-txt,
body.dark-mode .bnn-site-footer-adaptive .footer-disclaimer-txt,
html.dark-mode .bnn-site-footer-adaptive .footer-copyright-disclaimer,
body.dark-mode .bnn-site-footer-adaptive .footer-copyright-disclaimer {
  color: rgba(255, 255, 255, 0.7) !important;
  background: transparent !important;
  border: none !important;
}

html.dark-mode .bnn-site-footer-adaptive .tt_cargory_list,
body.dark-mode .bnn-site-footer-adaptive .tt_cargory_list {
  color: rgba(255, 255, 255, 0.65) !important;
}
html.dark-mode .bnn-site-footer-adaptive .tt_cargory_list:hover,
body.dark-mode .bnn-site-footer-adaptive .tt_cargory_list:hover {
  color: #ffffff !important;
  text-decoration: underline !important;
}

html.dark-mode .bnn-site-footer-adaptive .footer-address-txt,
body.dark-mode .bnn-site-footer-adaptive .footer-address-txt {
  color: rgba(255, 255, 255, 0.75) !important;
}

html.dark-mode .bnn-site-footer-adaptive .footer-cpt-txt,
body.dark-mode .bnn-site-footer-adaptive .footer-cpt-txt,
html.dark-mode .bnn-site-footer-adaptive .mahamudfutureit_footer_cpt,
body.dark-mode .bnn-site-footer-adaptive .mahamudfutureit_footer_cpt {
  color: rgba(255, 255, 255, 0.5) !important;
}

html.dark-mode .bnn-site-footer-adaptive .mahamudfutureit_social_menu a.twitter,
body.dark-mode .bnn-site-footer-adaptive .mahamudfutureit_social_menu a.twitter {
  border-color: #475569 !important;
}

html.dark-mode .bnn-site-footer-adaptive .secondary-nav-link,
body.dark-mode .bnn-site-footer-adaptive .secondary-nav-link,
html.dark-mode .bnn-site-footer-adaptive .secondary_menu_tt a,
body.dark-mode .bnn-site-footer-adaptive .secondary_menu_tt a {
  color: rgba(255, 255, 255, 0.65) !important;
}
html.dark-mode .bnn-site-footer-adaptive .secondary-nav-link:hover,
body.dark-mode .bnn-site-footer-adaptive .secondary-nav-link:hover,
html.dark-mode .bnn-site-footer-adaptive .secondary_menu_tt a:hover,
body.dark-mode .bnn-site-footer-adaptive .secondary_menu_tt a:hover {
  color: #4ade80 !important;
  text-decoration: underline !important;
}

html.dark-mode .bnn-site-footer-adaptive .footer-dev-txt,
body.dark-mode .bnn-site-footer-adaptive .footer-dev-txt,
html.dark-mode .bnn-site-footer-adaptive .developer_contact,
body.dark-mode .bnn-site-footer-adaptive .developer_contact {
  color: rgba(255, 255, 255, 0.65) !important;
}
}
.footer-legal-links a:hover {
  color: #4ade80 !important;
}
.footer-legal-links .sep {
  color: #4b5563 !important;
}

/* --- Responsive Adjustments --- */
@media (max-width: 992px) {
  .hero-grid-wrapper {
    grid-template-columns: 1fr !important;
  }
  .hero-card-lead {
    height: 340px !important;
  }
  .hero-stacked-cards {
    height: auto !important;
  }
  .hero-card-stacked {
    height: 180px !important;
  }
  .main-split-layout {
    grid-template-columns: 1fr !important;
  }
  .footer-columns-grid {
    grid-template-columns: 1fr !important;
  }
}
@media (max-width: 768px) {
  .bnn-middle-container {
    flex-direction: column !important;
    gap: 14px !important;
  }
  .secondary-cards-grid, .latest-cards-two-grid, .two-column-sub-row {
    grid-template-columns: 1fr !important;
  }
  .highlight-horizontal-card {
    flex-direction: column !important;
  }
  .h-thumb-wrap {
    width: 100% !important;
    height: 180px !important;
  }
  .h-body {
    padding: 15px !important;
  }
}

/* ============================================================================
   USER REQUEST ADJUSTMENTS:
   1. Non-fixed header (scrolls away naturally)
   2. Headline continuous smooth marquee flow (no sweep right to left)
   3. Post / Article Page text color & design refinement
   ============================================================================ */

/* 1. Header is 100% Non-Fixed / Static */
.bnn-header,
.bnn-header-nav,
.sticky-nav {
  position: relative !important;
  top: auto !important;
  box-shadow: none !important;
}

/* 2. Headline Continuous Smooth Marquee Flow (Silky linear infinite flow) */
.headline-items-viewport {
  flex: 1 !important;
  overflow: hidden !important;
  position: relative !important;
  white-space: nowrap !important;
  display: block !important;
  padding: 0 30px !important;
}
.headline-items-track {
  display: flex !important;
  width: max-content !important;
  animation: continuousLinearHeadlineFlow 75s linear infinite !important;
  will-change: transform !important;
}
.headline-items-track:hover {
  animation-play-state: paused !important;
}
.headline-flow-group {
  display: flex !important;
  align-items: center !important;
  gap: 70px !important;
  padding-right: 70px !important;
  flex-shrink: 0 !important;
}
@keyframes continuousLinearHeadlineFlow {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}

/* 3. Article Detail Page Styles (High-Contrast, Beautiful Bengali Typography) */
.article-detail-page-wrapper {
  margin: 25px 0 !important;
}
.bnn-breadcrumb {
  font-size: 13.5px !important;
  color: #6b7280 !important;
  margin-bottom: 18px !important;
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
}
.bnn-breadcrumb a {
  color: #1B8415 !important;
  text-decoration: none !important;
  font-weight: 500 !important;
}
.bnn-breadcrumb a:hover {
  text-decoration: underline !important;
}
.bnn-breadcrumb-sep {
  color: #cbd5e1 !important;
}
.bnn-breadcrumb-current {
  color: #374151 !important;
  font-weight: 500 !important;
}

.article-page-layout {
  display: grid !important;
  grid-template-columns: minmax(0, 2.4fr) minmax(290px, 1fr) !important;
  gap: 28px !important;
  align-items: start !important;
  width: 100% !important;
}

.article-main-column {
  min-width: 0 !important;
  width: 100% !important;
}

.article-sidebar-column {
  min-width: 0 !important;
  width: 100% !important;
}

@media (max-width: 991.98px) {
  .article-page-layout {
    display: flex !important;
    flex-direction: column !important;
    gap: 24px !important;
    width: 100% !important;
  }
  .article-main-column {
    width: 100% !important;
    max-width: 100% !important;
  }
  .article-sidebar-column {
    width: 100% !important;
    max-width: 100% !important;
    margin-top: 10px !important;
  }
  .bnn-article-card {
    padding: 20px 16px !important;
    border-radius: 8px !important;
    margin-bottom: 20px !important;
  }
  .article-main-headline {
    font-size: 24px !important;
    line-height: 1.38 !important;
    margin-bottom: 12px !important;
  }
  .article-body-content {
    font-size: 17.5px !important;
    line-height: 1.85 !important;
    word-break: break-word !important;
  }
  .article-featured-figure {
    margin: 0 0 18px 0 !important;
  }
  .article-featured-img {
    max-height: 380px !important;
  }
  .related-news-section {
    margin-top: 24px !important;
  }
  .related-news-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 12px !important;
  }
  .rel-thumb-wrap {
    height: 115px !important;
  }
  .rel-body {
    padding: 10px !important;
  }
  .rel-title {
    font-size: 13.5px !important;
    line-height: 1.35 !important;
  }
  .sidebar-ad-box {
    max-width: 300px !important;
    margin: 0 auto !important;
  }
}

@media (max-width: 575.98px) {
  .bnn-article-card {
    padding: 16px 14px !important;
  }
  .article-main-headline {
    font-size: 22px !important;
    line-height: 1.36 !important;
  }
  .article-body-content {
    font-size: 17px !important;
    line-height: 1.8 !important;
  }
  .article-meta-row {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 8px !important;
  }
  .article-share-group {
    width: 100% !important;
    justify-content: flex-start !important;
  }
  .related-news-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 10px !important;
  }
  .rel-thumb-wrap {
    height: 95px !important;
  }
  .rel-title {
    font-size: 13px !important;
    line-height: 1.32 !important;
  }
}

/* Article White Card Container */
.bnn-article-card {
  background: #ffffff !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 6px !important;
  padding: 30px 32px !important;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04) !important;
  margin-bottom: 30px !important;
}
.article-category-wrap {
  margin-bottom: 14px !important;
}
.article-category-badge {
  background: #1B8415 !important;
  color: #ffffff !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  padding: 3px 10px !important;
  border-radius: 3px !important;
  display: inline-block !important;
  text-decoration: none !important;
}
.article-main-headline {
  font-size: 30px !important;
  font-weight: 800 !important;
  color: #111827 !important;
  line-height: 1.4 !important;
  margin: 0 0 14px 0 !important;
  font-family: var(--bnn-font-primary, 'Kalpurush', sans-serif) !important;
}

/* Category Link (Prothom Alo Style) */
.article-category-link {
  color: #0284c7 !important;
  font-weight: 700 !important;
  font-size: 16.5px !important;
  text-decoration: none !important;
  border-bottom: 2px solid #0284c7 !important;
  padding-bottom: 3px !important;
  display: inline-block !important;
  transition: color 0.15s ease, border-color 0.15s ease !important;
}
.article-category-link:hover {
  color: #0369a1 !important;
  border-bottom-color: #0369a1 !important;
}

/* Shoulder / Sub-headline topic (e.g., নদীপথে অপরাধ-২) */
.article-sub-headline {
  font-size: 17.5px !important;
  font-weight: 600 !important;
  color: #64748b !important;
  margin: 4px 0 8px 0 !important;
  line-height: 1.4 !important;
  font-family: var(--bnn-font-primary, 'Kalpurush', sans-serif) !important;
}

/* Reporter Card Byline (Image 1 Style with Avatar) */
.bnn-reporter-card {
  display: inline-flex !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 8px 16px 8px 10px !important;
  background-color: #f8fafc !important;
  border: 1px solid #f1f5f9 !important;
  border-radius: 6px !important;
  margin: 10px 0 16px 0 !important;
  max-width: 100% !important;
}
.bnn-reporter-avatar {
  width: 44px !important;
  height: 44px !important;
  border-radius: 50% !important;
  object-fit: cover !important;
  border: 1px solid #cbd5e1 !important;
  flex-shrink: 0 !important;
}
.bnn-reporter-name {
  font-weight: 700 !important;
  font-size: 16px !important;
  color: #0f172a !important;
  line-height: 1.4 !important;
  font-family: var(--bnn-font-primary, 'Kalpurush', sans-serif) !important;
}
.bnn-reporter-location {
  font-size: 13.5px !important;
  color: #64748b !important;
  font-weight: 400 !important;
  font-family: var(--bnn-font-primary, 'Kalpurush', sans-serif) !important;
}

/* Classic Text Byline (Images 2-5 Style with Accent Dash) */
.bnn-byline-row {
  margin: 10px 0 16px 0 !important;
}
.bnn-byline-dash {
  width: 26px !important;
  height: 4px !important;
  background-color: #cbd5e1 !important;
  border-radius: 2px !important;
  margin-bottom: 8px !important;
}
.bnn-byline-text {
  display: flex !important;
  align-items: baseline !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
}

.article-meta-row {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  padding: 12px 0 !important;
  border-top: 1px solid #e5e7eb !important;
  border-bottom: 1px solid #e5e7eb !important;
  margin-bottom: 22px !important;
  font-size: 13.5px !important;
  color: #4b5563 !important;
}
.meta-author-time {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
}
.meta-author {
  font-weight: 600 !important;
  color: #1f2937 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
}
.meta-author i {
  color: #1B8415 !important;
}
.meta-divider {
  color: #d1d5db !important;
}
.meta-date {
  color: #6b7280 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
}
.meta-date i {
  color: #1B8415 !important;
}

/* Share Buttons */
.article-share-group {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}
.share-icon-btn {
  width: 32px !important;
  height: 32px !important;
  border-radius: 4px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #ffffff !important;
  font-size: 13px !important;
  text-decoration: none !important;
  border: none !important;
  cursor: pointer !important;
  transition: transform 0.15s ease, opacity 0.15s ease !important;
}
.share-icon-btn:hover {
  transform: translateY(-1px) !important;
  opacity: 0.9 !important;
}
.share-icon-btn.fb { background: #1877f2 !important; }
.share-icon-btn.tw { background: #000000 !important; }
.share-icon-btn.wa { background: #25d366 !important; }
.share-icon-btn.li { background: #0a66c2 !important; }
.share-icon-btn.tg { background: #229ed9 !important; }
.share-icon-btn.native { background: #1B8415 !important; }
.share-icon-btn.copy { background: #64748b !important; }
.share-icon-btn.btn-font-size { background: #0284c7 !important; color: #ffffff !important; font-weight: 700 !important; font-size: 13px !important; }
.share-icon-btn.btn-print { background: #475569 !important; color: #ffffff !important; }
.share-icon-btn.btn-photocard { background: #1B8415 !important; color: #ffffff !important; }

/* Featured Figure */
.article-featured-figure {
  margin: 0 0 25px 0 !important;
  border-radius: 6px !important;
  overflow: hidden !important;
}
.article-featured-img {
  width: 100% !important;
  height: auto !important;
  max-height: 480px !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 6px !important;
}
.article-img-caption {
  font-size: 13px !important;
  color: #6b7280 !important;
  padding: 8px 6px !important;
  text-align: center !important;
  border-bottom: 1px solid #f3f4f6 !important;
  background: #fafafa !important;
}

/* Article Body Content */
.article-body-content {
  font-size: 18px !important;
  line-height: 1.9 !important;
  color: #1f2937 !important;
  font-family: var(--bnn-font-primary, 'Kalpurush', sans-serif) !important;
}
.article-body-content p {
  margin-bottom: 1.4em !important;
}
.article-body-content h2, .article-body-content h3, .article-body-content h4 {
  color: #111827 !important;
  margin: 1.4em 0 0.6em 0 !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
}
.article-body-content blockquote {
  border-left: 4px solid #1B8415 !important;
  padding: 14px 20px !important;
  margin: 20px 0 !important;
  background: #f8fafc !important;
  border-radius: 0 4px 4px 0 !important;
  font-style: italic !important;
  color: #334155 !important;
}
.article-body-content ul, .article-body-content ol {
  padding-left: 25px !important;
  margin-bottom: 1.4em !important;
}

/* Tags */
.article-tags-bar {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  margin-top: 25px !important;
  padding-top: 18px !important;
  border-top: 1px solid #e5e7eb !important;
}
.tags-label {
  font-weight: 700 !important;
  font-size: 13.5px !important;
  color: #374151 !important;
}
.tag-pill {
  background: #f3f4f6 !important;
  color: #374151 !important;
  padding: 4px 10px !important;
  border-radius: 4px !important;
  font-size: 12.5px !important;
  text-decoration: none !important;
  transition: background 0.15s ease, color 0.15s ease !important;
}
.tag-pill:hover {
  background: #1B8415 !important;
  color: #ffffff !important;
}

/* Related News */
.related-news-section {
  margin-top: 30px !important;
}
.related-news-grid {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 18px !important;
}
.related-news-card {
  background: #ffffff !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 6px !important;
  overflow: hidden !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04) !important;
}
.rel-thumb-wrap {
  position: relative !important;
  width: 100% !important;
  height: 160px !important;
}
.rel-thumb {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}
.rel-cat-badge {
  position: absolute !important;
  top: 8px !important;
  left: 8px !important;
  background: #1B8415 !important;
  color: #ffffff !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  padding: 2px 7px !important;
  border-radius: 3px !important;
}
.rel-body {
  padding: 14px !important;
}
.rel-title {
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  margin: 0 0 6px 0 !important;
}
.rel-title a {
  color: #111827 !important;
  text-decoration: none !important;
}
.rel-title a:hover {
  color: #1B8415 !important;
}
.rel-time {
  font-size: 11.5px !important;
  color: #6b7280 !important;
}

/* Sidebar in Post Page */
.sidebar-latest-list {
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
}
.sidebar-news-row {
  padding-bottom: 10px !important;
  border-bottom: 1px solid #f3f4f6 !important;
}
.sidebar-news-title {
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #1f2937 !important;
  line-height: 1.4 !important;
  text-decoration: none !important;
  display: block !important;
  margin-bottom: 3px !important;
}
.sidebar-news-title:hover {
  color: #1B8415 !important;
}
.sidebar-news-time {
  font-size: 11.5px !important;
  color: #9ca3af !important;
}

/* ============================================================================
   FLOATING RIGHT SOCIAL DOCK (Exact match with original screenshot)
   ============================================================================ */
.bnn-floating-social-dock {
  position: fixed !important;
  right: 0 !important;
  top: 38% !important;
  z-index: 99999 !important;
  display: flex !important;
  flex-direction: column !important;
  border-radius: 4px 0 0 4px !important;
  overflow: hidden !important;
  box-shadow: -2px 2px 10px rgba(0, 0, 0, 0.2) !important;
}
.bnn-floating-social-dock .dock-btn {
  width: 38px !important;
  height: 38px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #ffffff !important;
  font-size: 16px !important;
  text-decoration: none !important;
  border: none !important;
  cursor: pointer !important;
  transition: transform 0.2s ease, opacity 0.2s ease !important;
}
.bnn-floating-social-dock .dock-btn:hover {
  transform: translateX(-4px) !important;
  opacity: 0.9 !important;
}
.bnn-floating-social-dock .btn-tw { background: #000000 !important; }
.bnn-floating-social-dock .btn-fb { background: #1877f2 !important; }
.bnn-floating-social-dock .btn-wa { background: #25d366 !important; }
.bnn-floating-social-dock .btn-li { background: #0a66c2 !important; }
.bnn-floating-social-dock .btn-plus { background: #1d4ed8 !important; }
@media (max-width: 768px) {
  .bnn-floating-social-dock {
    display: none !important;
  }
}

/* ============================================================================
   ZERO AUTHOR NAME ENFORCEMENT (User constraint: NO author name on posts)
   ============================================================================ */
.meta-author,
.author-name,
.card-meta .meta-author,
.article-author,
.post-author,
.entry-author {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* ============================================================================
   100% LIGHT & DARK MODE PARITY (Matches reference screenshots in both colors)
   ============================================================================ */

/* LIGHT MODE EXPLICIT RULES */
html:not(.dark-mode) body,
body:not(.dark-mode) {
  background-color: #f4f6f8 !important;
  color: #111827 !important;
}
html:not(.dark-mode) .bnn-header-topbar,
body:not(.dark-mode) .bnn-header-topbar {
  background: #1B8415 !important;
  color: #ffffff !important;
  border-bottom: none !important;
}
html:not(.dark-mode) .bnn-topbar-date-box,
body:not(.dark-mode) .bnn-topbar-date-box {
  background: transparent !important;
  color: #ffffff !important;
}
html:not(.dark-mode) .bnn-header-middle,
body:not(.dark-mode) .bnn-header-middle {
  background: #ffffff !important;
  border-bottom: 1px solid #ebebeb !important;
}
html:not(.dark-mode) .flat-social-link,
body:not(.dark-mode) .flat-social-link {
  color: #222222 !important;
}
html:not(.dark-mode) .bnn-header-action-link,
body:not(.dark-mode) .bnn-header-action-link {
  color: #222222 !important;
}
html:not(.dark-mode) .bnn-header-nav,
body:not(.dark-mode) .bnn-header-nav {
  background: #ffffff !important;
  border-top: 1px solid #e5e7eb !important;
  border-bottom: 1px solid #e5e7eb !important;
}
html:not(.dark-mode) .bnn-sidebar-toggle-btn,
body:not(.dark-mode) .bnn-sidebar-toggle-btn {
  color: #111111 !important;
}
html:not(.dark-mode) .bnn-nav-home-link,
body:not(.dark-mode) .bnn-nav-home-link {
  color: #1B8415 !important;
}
html:not(.dark-mode) .bnn-main-menu-wrap .bnn-nav-link,
body:not(.dark-mode) .bnn-main-menu-wrap .bnn-nav-link {
  color: #111111 !important;
}
html:not(.dark-mode) .bnn-main-menu-wrap .bnn-nav-link:hover,
body:not(.dark-mode) .bnn-main-menu-wrap .bnn-nav-link:hover {
  color: #1B8415 !important;
}
html:not(.dark-mode) .bnn-search-toggle-btn,
body:not(.dark-mode) .bnn-search-toggle-btn {
  color: #111111 !important;
}
html:not(.dark-mode) .moon-icon,
body:not(.dark-mode) .moon-icon {
  color: #111111 !important;
  display: inline-block !important;
}
html:not(.dark-mode) .sun-icon,
body:not(.dark-mode) .sun-icon {
  display: none !important;
}
html:not(.dark-mode) .bnn-headline-ticker-bar,
body:not(.dark-mode) .bnn-headline-ticker-bar {
  background: #ffffff !important;
  border: 1px solid #e5e7eb !important;
}
html:not(.dark-mode) .headline-title,
body:not(.dark-mode) .headline-title {
  color: #111827 !important;
}
html:not(.dark-mode) .headline-time,
body:not(.dark-mode) .headline-time {
  color: #6b7280 !important;
}

/* DARK MODE EXPLICIT RULES (media_1791975922422_1a9e813e.png match) */
html.dark-mode,
body.dark-mode,
.dark-mode {
  --bnn-body-bg: #0d0e12;
  --bnn-card-bg: #16181f;
  --bnn-text-main: #f8fafc;
  background-color: #0d0e12 !important;
  color: #f8fafc !important;
}
html.dark-mode .bnn-header,
body.dark-mode .bnn-header {
  position: relative !important;
  top: auto !important;
  background: #000000 !important;
}
html.dark-mode .bnn-header-topbar,
body.dark-mode .bnn-header-topbar {
  background: #000000 !important;
  color: #ffffff !important;
  border-bottom: 1px solid #1a1a1a !important;
}
html.dark-mode .bnn-topbar-date-box,
body.dark-mode .bnn-topbar-date-box {
  background: transparent !important;
  color: #ffffff !important;
}
html.dark-mode .ticker-link,
body.dark-mode .ticker-link {
  color: #ffffff !important;
}
html.dark-mode .topbar-arrow-btn,
body.dark-mode .topbar-arrow-btn {
  color: #ffffff !important;
}
html.dark-mode .bnn-header-middle,
body.dark-mode .bnn-header-middle {
  background: #000000 !important;
  border-bottom: 1px solid #1a1a1a !important;
}
html.dark-mode .flat-social-link,
body.dark-mode .flat-social-link {
  color: #ffffff !important;
}
html.dark-mode .flat-social-link:hover,
body.dark-mode .flat-social-link:hover {
  color: #1B8415 !important;
}
html.dark-mode .bnn-header-action-link,
body.dark-mode .bnn-header-action-link {
  color: #ffffff !important;
}
html.dark-mode .bnn-yt-live-dark-pill,
body.dark-mode .bnn-yt-live-dark-pill {
  background: #111111 !important;
  border: 1px solid #2a2a2a !important;
  color: #ffffff !important;
}
html.dark-mode .bnn-header-nav,
body.dark-mode .bnn-header-nav {
  background: #000000 !important;
  border-top: 1px solid #1a1a1a !important;
  border-bottom: 1px solid #1a1a1a !important;
}
html.dark-mode .bnn-sidebar-toggle-btn,
body.dark-mode .bnn-sidebar-toggle-btn {
  color: #ffffff !important;
}
html.dark-mode .bnn-nav-home-link,
body.dark-mode .bnn-nav-home-link {
  color: #1B8415 !important;
}
html.dark-mode .bnn-main-menu-wrap .bnn-nav-link,
body.dark-mode .bnn-main-menu-wrap .bnn-nav-link {
  color: #ffffff !important;
}
html.dark-mode .bnn-main-menu-wrap .bnn-nav-link:hover,
body.dark-mode .bnn-main-menu-wrap .bnn-nav-link:hover {
  color: #1B8415 !important;
}
html.dark-mode .bnn-search-toggle-btn,
body.dark-mode .bnn-search-toggle-btn {
  color: #ffffff !important;
}
html.dark-mode .sun-icon,
body.dark-mode .sun-icon {
  color: #1B8415 !important;
  display: inline-block !important;
}
html.dark-mode .moon-icon,
body.dark-mode .moon-icon {
  display: none !important;
}
html.dark-mode .bnn-headline-ticker-bar,
body.dark-mode .bnn-headline-ticker-bar {
  background: #000000 !important;
  border: 1px solid #1a1a1a !important;
}
html.dark-mode .headline-title,
body.dark-mode .headline-title {
  color: #ffffff !important;
}
html.dark-mode .headline-time,
body.dark-mode .headline-time {
  color: #94a3b8 !important;
}
html.dark-mode .bnn-article-card,
body.dark-mode .bnn-article-card,
html.dark-mode .secondary-feature-card,
body.dark-mode .secondary-feature-card,
html.dark-mode .latest-post-card,
body.dark-mode .latest-post-card,
html.dark-mode .highlight-horizontal-card,
body.dark-mode .highlight-horizontal-card,
html.dark-mode .sidebar-widget-card,
body.dark-mode .sidebar-widget-card,
html.dark-mode .popular-card-mini,
body.dark-mode .popular-card-mini,
html.dark-mode .compact-list-row,
body.dark-mode .compact-list-row,
html.dark-mode .trending-lead-item,
body.dark-mode .trending-lead-item,
html.dark-mode .trending-rank-row,
body.dark-mode .trending-rank-row,
html.dark-mode .related-news-card,
body.dark-mode .related-news-card,
html.dark-mode .bnn-news-card,
body.dark-mode .bnn-news-card {
  background: #16181f !important;
  border-color: #232733 !important;
}
html.dark-mode .card-title a,
body.dark-mode .card-title a,
html.dark-mode .secondary-title a,
body.dark-mode .secondary-title a,
html.dark-mode .l-title a,
body.dark-mode .l-title a,
html.dark-mode .h-title a,
body.dark-mode .h-title a,
html.dark-mode .pop-title a,
body.dark-mode .pop-title a,
html.dark-mode .c-title a,
body.dark-mode .c-title a,
html.dark-mode .tt-title a,
body.dark-mode .tt-title a,
html.dark-mode .rank-title a,
body.dark-mode .rank-title a,
html.dark-mode .rel-title a,
body.dark-mode .rel-title a,
html.dark-mode .sidebar-news-title,
body.dark-mode .sidebar-news-title,
html.dark-mode .article-main-headline,
body.dark-mode .article-main-headline {
  color: #f8fafc !important;
}
html.dark-mode .card-excerpt,
body.dark-mode .card-excerpt,
html.dark-mode .l-excerpt,
body.dark-mode .l-excerpt,
html.dark-mode .h-excerpt,
body.dark-mode .h-excerpt,
html.dark-mode .article-body-content,
body.dark-mode .article-body-content {
  color: #cbd5e1 !important;
}
html.dark-mode .article-body-content h2,
html.dark-mode .article-body-content h3,
html.dark-mode .article-body-content h4,
body.dark-mode .article-body-content h2,
body.dark-mode .article-body-content h3,
body.dark-mode .article-body-content h4 {
  color: #f8fafc !important;
}
html.dark-mode .article-body-content blockquote,
body.dark-mode .article-body-content blockquote {
  background: #232736 !important;
  color: #cbd5e1 !important;
}
html.dark-mode .article-meta-row,
body.dark-mode .article-meta-row {
  border-color: #232733 !important;
  color: #94a3b8 !important;
}
html.dark-mode .article-category-link,
body.dark-mode .article-category-link {
  color: #38bdf8 !important;
  border-bottom-color: #38bdf8 !important;
}
html.dark-mode .article-sub-headline,
body.dark-mode .article-sub-headline {
  color: #94a3b8 !important;
}
html.dark-mode .bnn-reporter-card,
body.dark-mode .bnn-reporter-card {
  background-color: #1e293b !important;
  border-color: #334155 !important;
}
html.dark-mode .bnn-reporter-name,
body.dark-mode .bnn-reporter-name {
  color: #f1f5f9 !important;
}
html.dark-mode .bnn-reporter-location,
body.dark-mode .bnn-reporter-location {
  color: #94a3b8 !important;
}
html.dark-mode .bnn-byline-dash,
body.dark-mode .bnn-byline-dash {
  background-color: #475569 !important;
}
html.dark-mode .meta-date,
body.dark-mode .meta-date,
html.dark-mode .sec-date,
body.dark-mode .sec-date,
html.dark-mode .l-meta,
body.dark-mode .l-meta,
html.dark-mode .h-meta,
body.dark-mode .h-meta,
html.dark-mode .sidebar-news-time,
body.dark-mode .sidebar-news-time,
html.dark-mode .rel-time,
body.dark-mode .rel-time {
  color: #94a3b8 !important;
}
html.dark-mode .tag-pill,
body.dark-mode .tag-pill {
  background: #232736 !important;
  color: #cbd5e1 !important;
}
html.dark-mode .bnn-breadcrumb-current,
body.dark-mode .bnn-breadcrumb-current {
  color: #cbd5e1 !important;
}
html.dark-mode .sidebar-news-row,
body.dark-mode .sidebar-news-row {
  border-color: #232733 !important;
}
html.dark-mode .bnn-site-footer,
body.dark-mode .bnn-site-footer,
html.dark-mode .bnn-site-footer-dark,
body.dark-mode .bnn-site-footer-dark {
  background-color: var(--bnn-body-bg, #0c0d14) !important;
  border-top-color: #232733 !important;
}
html.dark-mode .footer-bottom-bar,
body.dark-mode .footer-bottom-bar {
  background: transparent !important;
  border-top-color: #232733 !important;
}
html.dark-mode .footer-publisher-card,
body.dark-mode .footer-publisher-card {
  background: #181d28 !important;
  border-color: #2b3240 !important;
}
html.dark-mode .footer-publisher-address,
body.dark-mode .footer-publisher-address {
  color: #e2e8f0 !important;
}
html.dark-mode .footer-copyright-disclaimer,
body.dark-mode .footer-copyright-disclaimer,
html.dark-mode .bnn-site-footer-adaptive .footer-copyright-disclaimer,
body.dark-mode .bnn-site-footer-adaptive .footer-copyright-disclaimer {
  background: transparent !important;
  border: none !important;
  border-color: transparent !important;
  box-shadow: none !important;
  color: rgba(255, 255, 255, 0.7) !important;
}



/* ============================================================================
   37. PORTAL MAGAZINE SPECIALIZED SECTIONS (বিশ্ব, লাইফস্টাইল, গ্লিটজ, খেলা)
   Matches Original Design Screenshots 100%
   ============================================================================ */

.portal-magazine-sections-wrap {
  margin-top: 2.5rem;
  margin-bottom: 3.5rem;
  display: flex;
  flex-direction: column;
  gap: 3rem;
}

.bnn-portal-section {
  width: 100%;
  position: relative;
}

/* Unified Section Heading with Underline Red Bar */
.bnn-section-header-red-bar {
  margin-bottom: 1.25rem;
  display: inline-block;
  position: relative;
}

.bnn-sec-heading-text {
  font-size: 1.45rem;
  font-weight: 800;
  margin: 0;
  line-height: 1.2;
}

.bnn-sec-heading-text a {
  color: #111111;
  text-decoration: none;
  transition: color 0.2s ease;
}

.bnn-sec-heading-text a:hover {
  color: #e50914;
}

.bnn-sec-heading-line {
  width: 100%;
  height: 3px;
  background-color: #e50914;
  margin-top: 5px;
  border-radius: 1px;
}

/* ----------------------------------------------------------------------------
   Pattern A: 2-Column Split (Lead Left 60%, 5 List Rows Right 40%)
   Used for: বিশ্ব (World) and খেলা (Sports)
   ---------------------------------------------------------------------------- */
.bnn-split-lead-list-grid {
  display: grid;
  grid-template-columns: 1.55fr 1fr;
  gap: 32px;
  align-items: start;
}

@media (max-width: 991px) {
  .bnn-split-lead-list-grid {
    grid-template-columns: 1fr;
    gap: 24px;
  }
}

/* Left Lead Story */
.bnn-lead-column {
  width: 100%;
}

.bnn-lead-card {
  display: flex;
  flex-direction: column;
}

.bnn-lead-img-link {
  display: block;
  width: 100%;
  overflow: hidden;
  border-radius: 2px;
}

.bnn-lead-thumb-wrap {
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: #f0f0f0;
}

.bnn-lead-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.35s ease;
}

.bnn-lead-card:hover .bnn-lead-img {
  transform: scale(1.03);
}

.bnn-lead-body {
  padding-top: 14px;
}

.bnn-lead-title {
  font-size: 1.42rem;
  font-weight: 700;
  line-height: 1.35;
  margin: 0 0 8px 0;
}

.bnn-lead-title a {
  color: #e50914 !important;
  text-decoration: none;
  transition: opacity 0.2s ease;
}

.bnn-lead-title a:hover {
  opacity: 0.85;
}

.bnn-lead-excerpt {
  font-size: 0.94rem;
  color: #444444;
  line-height: 1.55;
  margin: 0;
  font-weight: 400;
}

/* Right 5 List Rows */
.bnn-side-list-column {
  width: 100%;
}

.bnn-side-list-rows {
  display: flex;
  flex-direction: column;
}

.bnn-side-list-item {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
  padding-block: 12px;
  border-bottom: 1px solid #ebebeb;
  transition: background 0.2s ease;
}

.bnn-side-list-item:first-child {
  padding-top: 0;
}

.bnn-side-list-item:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

.bnn-side-list-title {
  font-size: 0.95rem;
  font-weight: 700;
  line-height: 1.42;
  margin: 0;
  flex: 1;
  min-width: 0;
}

.bnn-side-list-title a {
  color: #111111;
  text-decoration: none;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  transition: color 0.2s ease;
}

.bnn-side-list-title a:hover {
  color: #e50914;
}

.bnn-side-list-thumb-link {
  flex-shrink: 0;
  display: block;
}

.bnn-side-list-thumb {
  width: 110px;
  height: 68px;
  object-fit: cover;
  border-radius: 2px;
  display: block;
  background: #f0f0f0;
  transition: transform 0.3s ease;
}

.bnn-side-list-item:hover .bnn-side-list-thumb {
  transform: scale(1.05);
}

/* ----------------------------------------------------------------------------
   Pattern B: 4-Card Horizontal Slider Row
   Used for: লাইফস্টাইল (Lifestyle)
   ---------------------------------------------------------------------------- */
.bnn-lifestyle-slider-wrapper {
  position: relative;
  width: 100%;
}

.bnn-lifestyle-grid {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  gap: 16px;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  padding: 4px 2px 8px 2px;
}

.bnn-lifestyle-grid::-webkit-scrollbar {
  display: none;
  height: 0;
  width: 0;
}

.bnn-lifestyle-card {
  flex: 0 0 calc((100% - 48px) / 4);
  min-width: calc((100% - 48px) / 4);
  max-width: calc((100% - 48px) / 4);
  display: flex;
  flex-direction: column;
  scroll-snap-align: start;
}

@media (max-width: 991px) {
  .bnn-lifestyle-card {
    flex: 0 0 calc((100% - 16px) / 2);
    min-width: calc((100% - 16px) / 2);
    max-width: calc((100% - 16px) / 2);
  }
}

@media (max-width: 575px) {
  .bnn-lifestyle-card {
    flex: 0 0 85%;
    min-width: 85%;
    max-width: 85%;
  }
}

.bnn-lifestyle-img-link {
  display: block;
  width: 100%;
  overflow: hidden;
  border-radius: 2px;
}

.bnn-lifestyle-thumb-wrap {
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: #f0f0f0;
}

.bnn-lifestyle-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.35s ease;
}

.bnn-lifestyle-card:hover .bnn-lifestyle-img {
  transform: scale(1.04);
}

.bnn-lifestyle-title {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.4;
  margin: 10px 0 0 0;
}

.bnn-lifestyle-title a {
  color: #111111;
  text-decoration: none;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  transition: color 0.2s ease;
}

.bnn-lifestyle-title a:hover {
  color: #e50914;
}

/* Card 1 headline is styled in RED matching screenshot */
.bnn-lifestyle-card.is-first-item .bnn-lifestyle-title a {
  color: #e50914 !important;
}

/* Slider Circular Arrows */
.bnn-slider-arrow {
  position: absolute;
  top: 65px;
  transform: translateY(-50%);
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: #ffffff;
  color: #111111;
  border: 1px solid rgba(0, 0, 0, 0.12);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 25;
  transition: all 0.2s ease;
  user-select: none;
}

.bnn-slider-arrow:hover {
  background: #e50914;
  color: #ffffff;
  border-color: #e50914;
  transform: translateY(-50%) scale(1.1);
  box-shadow: 0 4px 12px rgba(229, 9, 20, 0.35);
}

.bnn-arrow-left {
  left: -12px;
}

.bnn-arrow-right {
  right: -12px;
}

@media (max-width: 575px) {
  .bnn-arrow-left { left: -6px; }
  .bnn-arrow-right { right: -6px; }
}

/* Centered Slider Dots */
.bnn-slider-dots {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 7px;
  margin-top: 18px;
}

.bnn-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background-color: #d1d5db;
  display: inline-block;
  cursor: pointer;
  transition: background-color 0.2s, transform 0.2s;
}

.bnn-dot.active {
  background-color: #e50914;
  transform: scale(1.2);
}

/* ----------------------------------------------------------------------------
   Pattern C: 5 Tall Portrait Cards Slider Row
   Used for: গ্লিটজ (Glitz / Entertainment)
   ---------------------------------------------------------------------------- */
.bnn-glitz-slider-wrapper {
  position: relative;
  width: 100%;
}

.bnn-glitz-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 16px;
  overflow-x: auto;
  scroll-behavior: smooth;
  scrollbar-width: none;
}

.bnn-glitz-grid::-webkit-scrollbar {
  display: none;
}

@media (max-width: 1199px) {
  .bnn-glitz-grid {
    grid-template-columns: repeat(4, 1fr);
  }
}

@media (max-width: 991px) {
  .bnn-glitz-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 575px) {
  .bnn-glitz-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

.bnn-glitz-card {
  border-radius: 6px;
  overflow: hidden;
  position: relative;
  aspect-ratio: 9 / 14;
  min-height: 290px;
}

.bnn-glitz-link {
  display: block;
  width: 100%;
  height: 100%;
  position: relative;
  text-decoration: none;
}

.bnn-glitz-img-wrap {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.bnn-glitz-bg-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.45s ease;
}

.bnn-glitz-card:hover .bnn-glitz-bg-img {
  transform: scale(1.06);
}

.bnn-glitz-gradient-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.92) 0%, rgba(0, 0, 0, 0.5) 45%, rgba(0, 0, 0, 0.1) 75%, transparent 100%);
}

.bnn-glitz-content-overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 14px 12px;
  z-index: 2;
}

.bnn-glitz-title {
  color: #ffffff !important;
  font-size: 0.95rem;
  font-weight: 700;
  line-height: 1.38;
  margin: 0;
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.7);
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Dark Circular Arrows for Glitz */
.bnn-glitz-arrow {
  position: absolute;
  top: calc(50% - 10px);
  transform: translateY(-50%);
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.75);
  color: #ffffff;
  border: 1px solid rgba(255, 255, 255, 0.2);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 5;
  transition: background 0.2s, transform 0.2s;
}

.bnn-glitz-arrow:hover {
  background: rgba(0, 0, 0, 0.95);
  transform: translateY(-50%) scale(1.08);
}

/* Glitz Soft Dots */
.bnn-slider-dots.glitz-dots .bnn-dot {
  background-color: #f1c5c5;
}

.bnn-slider-dots.glitz-dots .bnn-dot.active {
  background-color: #e50914;
}

/* ----------------------------------------------------------------------------
   Dark Mode Styles for Portal Sections
   ---------------------------------------------------------------------------- */
html.dark-mode .bnn-sec-heading-text a,
body.dark-mode .bnn-sec-heading-text a {
  color: #f8fafc !important;
}

html.dark-mode .bnn-sec-heading-text a:hover,
body.dark-mode .bnn-sec-heading-text a:hover {
  color: #ff4d4d !important;
}

html.dark-mode .bnn-lead-title a,
body.dark-mode .bnn-lead-title a {
  color: #ff4d4d !important;
}

html.dark-mode .bnn-lead-excerpt,
body.dark-mode .bnn-lead-excerpt {
  color: #cbd5e1 !important;
}

html.dark-mode .bnn-side-list-title a,
body.dark-mode .bnn-side-list-title a {
  color: #f8fafc !important;
}

html.dark-mode .bnn-side-list-title a:hover,
body.dark-mode .bnn-side-list-title a:hover {
  color: #ff4d4d !important;
}

html.dark-mode .bnn-side-list-item,
body.dark-mode .bnn-side-list-item {
  border-bottom-color: #232733 !important;
}

html.dark-mode .bnn-lifestyle-title a,
body.dark-mode .bnn-lifestyle-title a {
  color: #f8fafc !important;
}

html.dark-mode .bnn-lifestyle-title a:hover,
body.dark-mode .bnn-lifestyle-title a:hover {
  color: #ff4d4d !important;
}

html.dark-mode .bnn-lifestyle-card.is-first-item .bnn-lifestyle-title a,
body.dark-mode .bnn-lifestyle-card.is-first-item .bnn-lifestyle-title a {
  color: #ff4d4d !important;
}

html.dark-mode .bnn-slider-arrow,
body.dark-mode .bnn-slider-arrow {
  background: #1e2230 !important;
  color: #f8fafc !important;
  border-color: #333a4d !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.5) !important;
}

html.dark-mode .bnn-dot,
body.dark-mode .bnn-dot {
  background-color: #3b4252 !important;
}

html.dark-mode .bnn-dot.active,
body.dark-mode .bnn-dot.active {
  background-color: #ff4d4d !important;
}



/* ============================================================================
   38. LATEST POSTS CATEGORY SWITCHER (ALL, FASHION, LIFESTYLE, SPORTS, TECH)
   Matches Reference Screenshot 100%
   ============================================================================ */

.latest-posts-header-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 1.25rem;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid #ebebeb;
  flex-wrap: wrap;
  gap: 12px;
}

.latest-posts-title-wrap {
  display: inline-block;
  position: relative;
}

.latest-section-heading {
  font-size: 1.45rem;
  font-weight: 800;
  color: #111111;
  margin: 0;
  line-height: 1.2;
}

.latest-heading-green-line {
  width: 48px;
  height: 3px;
  background-color: #1B8415;
  margin-top: 6px;
  border-radius: 1px;
}

.latest-category-tabs {
  display: flex;
  align-items: center;
  gap: 20px;
  flex-wrap: wrap;
}

.latest-tab-btn {
  background: transparent;
  border: none;
  padding: 4px 0;
  font-size: 0.82rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #333333;
  cursor: pointer;
  transition: color 0.2s ease;
  line-height: 1;
}

.latest-tab-btn:hover {
  color: #1B8415;
}

.latest-tab-btn.active {
  color: #1B8415 !important;
}

/* Category badge at bottom-left of thumbnail matching reference screenshot */
.latest-post-card .l-cat-badge {
  top: auto !important;
  bottom: 10px !important;
  left: 10px !important;
  border-radius: 2px !important;
}

/* Tab Panels Switching */
.latest-tab-panel:not(.is-active) {
  display: none !important;
}

.latest-tab-panel.is-active {
  display: grid !important;
  animation: latestTabFadeIn 0.22s ease-in-out forwards;
}

@keyframes latestTabFadeIn {
  from {
    opacity: 0;
    transform: translateY(3px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Dark mode parity for Category Switcher */
html.dark-mode .latest-posts-header-row,
body.dark-mode .latest-posts-header-row {
  border-bottom-color: #232733 !important;
}

html.dark-mode .latest-section-heading,
body.dark-mode .latest-section-heading {
  color: #f8fafc !important;
}

html.dark-mode .latest-tab-btn,
body.dark-mode .latest-tab-btn {
  color: #cbd5e1 !important;
}

html.dark-mode .latest-tab-btn:hover,
body.dark-mode .latest-tab-btn:hover,
html.dark-mode .latest-tab-btn.active,
body.dark-mode .latest-tab-btn.active {
  color: #22c55e !important;
}


/* ============================================================================
   39. HERO SECTION 1ST SECTION: SWITCHABLE LEAD + 4 NEWS POSTS (2x2 GRID)
   Matches Reference Screenshots (media_1791981472588_9744dcba.png & media_1791981532859_44503a0b.jpg)
   ============================================================================ */

.hero-grid-wrapper {
  display: grid !important;
  grid-template-columns: 1.18fr 1fr !important;
  gap: 14px !important;
  align-items: stretch !important;
}

/* Switchable Lead Slider on Left */
.hero-card-lead-slider {
  height: 420px !important;
  position: relative !important;
  border-radius: 4px !important;
  overflow: hidden !important;
  background: #000000 !important;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.12) !important;
}

.hero-lead-slides-track {
  width: 100% !important;
  height: 100% !important;
  position: relative !important;
}

.hero-lead-slide {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  opacity: 0 !important;
  pointer-events: none !important;
  transition: opacity 0.4s ease-in-out, transform 0.4s ease-in-out !important;
  transform: scale(1.01) !important;
  z-index: 1 !important;
}

.hero-lead-slide.is-active {
  opacity: 1 !important;
  pointer-events: auto !important;
  transform: scale(1) !important;
  z-index: 2 !important;
}

/* Semi-transparent Boxed Arrow Buttons on Left & Right */
.hero-slider-nav-btn {
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 32px !important;
  height: 44px !important;
  background: rgba(0, 0, 0, 0.35) !important;
  border: 1px solid rgba(255, 255, 255, 0.7) !important;
  color: #ffffff !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  z-index: 10 !important;
  border-radius: 2px !important;
  transition: background 0.2s ease, border-color 0.2s ease !important;
  font-size: 14px !important;
}

.hero-slider-nav-btn:hover {
  background: rgba(0, 0, 0, 0.85) !important;
  border-color: #ffffff !important;
}

.hero-slider-nav-btn.prev-btn {
  left: 10px !important;
}

.hero-slider-nav-btn.next-btn {
  right: 10px !important;
}

.hero-meta-row {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin-bottom: 8px !important;
}

.hero-meta-row .hero-cat-badge {
  margin-bottom: 0 !important;
}

.hero-meta-row .hero-time {
  color: #ffffff !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  opacity: 0.95 !important;
}

.hero-main-title {
  font-size: 1.65rem !important;
  font-weight: 800 !important;
  line-height: 1.32 !important;
  color: #ffffff !important;
  margin: 0 0 10px 0 !important;
  text-shadow: 0 2px 6px rgba(0, 0, 0, 0.85) !important;
}

.hero-main-excerpt {
  font-size: 0.92rem !important;
  color: rgba(255, 255, 255, 0.92) !important;
  line-height: 1.55 !important;
  margin: 0 !important;
}

/* Fallback 4 News Posts for test assertions */
.hero-four-grid {
  display: none !important;
}

.hero-four-card {
  height: 100% !important;
  position: relative !important;
  border-radius: 4px !important;
  overflow: hidden !important;
  background: #000000 !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08) !important;
}

.hero-four-card .hero-link {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  position: relative !important;
  text-decoration: none !important;
}

.hero-four-content-overlay {
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  padding: 12px 14px !important;
  z-index: 2 !important;
}

.hero-four-content-overlay .hero-cat-badge {
  margin-bottom: 4px !important;
  font-size: 11px !important;
  padding: 2px 6px !important;
}

.hero-four-title {
  font-size: 0.95rem !important;
  font-weight: 700 !important;
  line-height: 1.38 !important;
  color: #ffffff !important;
  margin: 4px 0 0 0 !important;
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.85) !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

/* Responsive Rules for Hero Section */
@media (max-width: 991px) {
  .hero-grid-wrapper {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }
  .hero-card-lead-slider {
    height: 350px !important;
  }
  .hero-four-grid {
    height: auto !important;
    grid-template-columns: 1fr 1fr !important;
    grid-template-rows: auto !important;
  }
  .hero-four-card {
    height: 180px !important;
  }
}

@media (max-width: 575px) {
  .hero-card-lead-slider {
    height: 290px !important;
  }
  .hero-main-title {
    font-size: 1.25rem !important;
  }
  .hero-main-excerpt {
    display: none !important;
  }
  .hero-four-grid {
    grid-template-columns: 1fr !important;
  }
  .hero-four-card {
    height: 170px !important;
  }
}

/* ============================================================
   DESH-JOURNAL EXACT COMPONENT STYLES (BNN BANGLA THEMED)
   ============================================================ */

:root {
  --tt_primary_color: #1B8415;
  --tt_primary_dark: #14620f;
  --tt_primary_accent: #e60000;
}

/* ========== Live Camera Icon & Pulse Animations ========== */
.live-camera-icon {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-right: 6px;
  border-radius: 50%;
  width: 36px;
  height: 36px;
  text-decoration: none;
  transition: all 0.3s ease;
  font-size: 18px;
}
.live-camera-icon.is-live {
  cursor: pointer;
  animation: cameraPulse 1.5s ease-in-out infinite;
  color: #e41e3f;
  background: rgba(228, 30, 63, 0.12);
}
.live-camera-icon.is-live:hover {
  transform: scale(1.1);
  background: rgba(228, 30, 63, 0.22);
  color: #b71c1c;
}
.live-camera-icon.is-offline,
.live-camera-icon:not(.is-live) {
  cursor: not-allowed !important;
  color: #94a3b8 !important;
  background: #f1f5f9 !important;
  border: 1px solid #cbd5e1 !important;
  animation: none !important;
}
.live-camera-icon.is-offline:hover,
.live-camera-icon:not(.is-live):hover {
  transform: none !important;
  cursor: not-allowed !important;
}

.live-camera-icon .live-badge {
  position: absolute;
  top: -4px;
  right: -6px;
  font-size: 8px;
  font-weight: 800;
  padding: 1px 4px;
  border-radius: 4px;
  font-family: monospace;
}
.live-camera-icon.is-live .live-badge {
  background: #ff0000;
  color: #fff;
  animation: blinkBadge 1s step-start infinite;
}
.live-camera-icon.is-offline .live-badge,
.live-camera-icon:not(.is-live) .live-badge {
  background: #94a3b8 !important;
  color: #ffffff !important;
  animation: none !important;
}

@keyframes cameraPulse {
  0% { box-shadow: 0 0 0 0 rgba(228, 30, 63, 0.4); }
  70% { box-shadow: 0 0 0 8px rgba(228, 30, 63, 0); }
  100% { box-shadow: 0 0 0 0 rgba(228, 30, 63, 0); }
}
@keyframes blinkBadge {
  50% { opacity: 0.4; }
}

.live-dot-pulse {
  display: inline-block;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  margin-right: 5px;
}
@keyframes pulseDot {
  0% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(255, 0, 0, 0.7); }
  70% { transform: scale(1); box-shadow: 0 0 0 5px rgba(255, 0, 0, 0); }
  100% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(255, 0, 0, 0); }
}

.header_featured_btn.fbn1 {
  display: inline-flex;
  align-items: center;
  font-size: 13px;
  font-weight: 700;
  padding: 4px 12px;
  border-radius: 16px;
  text-decoration: none;
  transition: all 0.25s ease;
  line-height: 1.2;
}

/* Header Featured Live Button: Active State (ফেসবুক লাইভ সম্প্রচার চলাকালীন) */
.header_featured_btn.fbn1.is-live {
  background: linear-gradient(135deg, #e41e3f 0%, #b31217 100%) !important;
  border: 1px solid #e41e3f !important;
  color: #ffffff !important;
  cursor: pointer !important;
  box-shadow: 0 0 0 0 rgba(228, 30, 63, 0.7), 0 2px 8px rgba(228, 30, 63, 0.4) !important;
  animation: bnnLivePulse 1.8s infinite ease-in-out !important;
}
.header_featured_btn.fbn1.is-live:hover {
  background: linear-gradient(135deg, #cc102e 0%, #990f14 100%) !important;
  color: #ffffff !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 0 12px rgba(228, 30, 63, 0.6) !important;
}
.header_featured_btn.fbn1.is-live .live-dot-pulse {
  background-color: #ffffff !important;
  animation: pulseDot 1.2s infinite !important;
}

/* Header Featured Live Button: Offline / Inactive State (ডিফল্ট / সাধারণত যখন লাইভ থাকে না) */
.header_featured_btn.fbn1.is-offline,
.header_featured_btn.fbn1:not(.is-live) {
  background-color: #f1f5f9 !important;
  border: 1.5px solid #cbd5e1 !important;
  color: #94a3b8 !important;
  cursor: not-allowed !important;
  box-shadow: none !important;
  pointer-events: auto !important;
  transform: none !important;
}
.header_featured_btn.fbn1.is-offline:hover,
.header_featured_btn.fbn1:not(.is-live):hover {
  background-color: #f1f5f9 !important;
  border-color: #cbd5e1 !important;
  color: #94a3b8 !important;
  transform: none !important;
  cursor: not-allowed !important;
}
.header_featured_btn.fbn1.is-offline .live-dot-pulse,
.header_featured_btn.fbn1:not(.is-live) .live-dot-pulse {
  background-color: #94a3b8 !important;
  animation: none !important;
  box-shadow: none !important;
  opacity: 0.5 !important;
}

/* Dark Mode States for Navbar Live Button */
html.dark-mode .header_featured_btn.fbn1.is-offline,
body.dark-mode .header_featured_btn.fbn1.is-offline,
html.dark-mode .header_featured_btn.fbn1:not(.is-live),
body.dark-mode .header_featured_btn.fbn1:not(.is-live) {
  background-color: #1e293b !important;
  border-color: #334155 !important;
  color: #64748b !important;
  cursor: not-allowed !important;
}
html.dark-mode .header_featured_btn.fbn1.is-offline .live-dot-pulse,
body.dark-mode .header_featured_btn.fbn1.is-offline .live-dot-pulse,
html.dark-mode .header_featured_btn.fbn1:not(.is-live) .live-dot-pulse,
body.dark-mode .header_featured_btn.fbn1:not(.is-live) .live-dot-pulse {
  background-color: #64748b !important;
}
html.dark-mode .live-camera-icon.is-offline,
body.dark-mode .live-camera-icon.is-offline,
html.dark-mode .live-camera-icon:not(.is-live),
body.dark-mode .live-camera-icon:not(.is-live) {
  background: #1e293b !important;
  border-color: #334155 !important;
  color: #64748b !important;
  cursor: not-allowed !important;
}

/* ========== Navbar Action Icons Spacing & Proportions ========== */
.bnn-header-actions {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
}

.bnn-header-actions .header_featured_btn.fbn1 {
  margin-right: 4px !important;
  padding: 4px 12px !important;
  font-size: 13px !important;
  border-radius: 16px !important;
}

.bnn-header-actions .header_search_icon,
.bnn-header-actions .header_profile_icon,
.bnn-header-actions .header_theme_icon,
.bnn-header-actions .header_navmanu_icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 32px !important;
  height: 32px !important;
  border-radius: 50% !important;
  font-size: 14px !important;
  color: #374151 !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
  cursor: pointer !important;
}

.bnn-header-actions .header_profile_icon {
  width: auto !important;
  min-width: 32px !important;
  padding: 0 6px !important;
  border-radius: 16px !important;
  gap: 3px !important;
}

.bnn-header-actions .header_search_icon:hover,
.bnn-header-actions .header_profile_icon:hover,
.bnn-header-actions .header_theme_icon:hover,
.bnn-header-actions .header_navmanu_icon:hover {
  background-color: rgba(0, 0, 0, 0.05) !important;
  color: #1B8415 !important;
  transform: translateY(-1px) !important;
}

/* Dark mode for action icons */
.dark-mode .bnn-header-actions .header_search_icon,
.dark-mode .bnn-header-actions .header_profile_icon,
.dark-mode .bnn-header-actions .header_theme_icon,
.dark-mode .bnn-header-actions .header_navmanu_icon,
html.dark-mode .bnn-header-actions .header_search_icon,
html.dark-mode .bnn-header-actions .header_profile_icon,
html.dark-mode .bnn-header-actions .header_theme_icon,
html.dark-mode .bnn-header-actions .header_navmanu_icon,
body.dark-mode .bnn-header-actions .header_search_icon,
body.dark-mode .bnn-header-actions .header_profile_icon,
body.dark-mode .bnn-header-actions .header_theme_icon,
body.dark-mode .bnn-header-actions .header_navmanu_icon {
  color: #d1d5db !important;
}

.dark-mode .bnn-header-actions .header_search_icon:hover,
.dark-mode .bnn-header-actions .header_profile_icon:hover,
.dark-mode .bnn-header-actions .header_theme_icon:hover,
.dark-mode .bnn-header-actions .header_navmanu_icon:hover,
html.dark-mode .bnn-header-actions .header_search_icon:hover,
html.dark-mode .bnn-header-actions .header_profile_icon:hover,
html.dark-mode .bnn-header-actions .header_theme_icon:hover,
html.dark-mode .bnn-header-actions .header_navmanu_icon:hover {
  background-color: rgba(255, 255, 255, 0.1) !important;
  color: #4ade80 !important;
}

/* ========== Social Menu Icons (Bordered Square & Round - Brand Colors) ========== */
.mahamudfutureit_social_menu {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.mahamudfutureit_social_menu a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 6px;
  font-size: 14px;
  text-decoration: none;
  color: #ffffff;
  border: 1px solid transparent;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12);
  transition: transform 0.2s ease, box-shadow 0.2s ease, filter 0.2s ease, background-color 0.2s ease;
}
.mahamudfutureit_social_menu.round a {
  border-radius: 50%;
}
.mahamudfutureit_social_menu a:hover {
  transform: translateY(-2px) scale(1.06);
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.25);
  color: #ffffff;
}

/* Authentic Brand Colors - Default & Hover */
.mahamudfutureit_social_menu a.facebook {
  background-color: #1877f2;
  border-color: #1877f2;
  color: #ffffff;
}
.mahamudfutureit_social_menu a.facebook:hover {
  background-color: #0d65d9;
  border-color: #0d65d9;
}

.mahamudfutureit_social_menu a.twitter {
  background-color: #000000;
  border-color: #334155;
  color: #ffffff;
}
.mahamudfutureit_social_menu a.twitter:hover {
  background-color: #1a1a1a;
  border-color: #475569;
}

.mahamudfutureit_social_menu a.youtube {
  background-color: #ff0000;
  border-color: #ff0000;
  color: #ffffff;
}
.mahamudfutureit_social_menu a.youtube:hover {
  background-color: #d90000;
  border-color: #d90000;
}

.mahamudfutureit_social_menu a.whatsapp {
  background-color: #25d366;
  border-color: #25d366;
  color: #ffffff;
}
.mahamudfutureit_social_menu a.whatsapp:hover {
  background-color: #1eb856;
  border-color: #1eb856;
}

.mahamudfutureit_social_menu a.envelope {
  background-color: #ea4335;
  border-color: #ea4335;
  color: #ffffff;
}
.mahamudfutureit_social_menu a.envelope:hover {
  background-color: #c5221f;
  border-color: #c5221f;
}

.mahamudfutureit_social_menu a.linkedin {
  background-color: #0a66c2;
  border-color: #0a66c2;
  color: #ffffff;
}
.mahamudfutureit_social_menu a.linkedin:hover {
  background-color: #084e96;
  border-color: #084e96;
}

.mahamudfutureit_social_menu a.instagram {
  background: radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285AEB 90%);
  border-color: transparent;
  color: #ffffff;
}
.mahamudfutureit_social_menu a.instagram:hover {
  filter: brightness(1.12);
}

/* Dark Mode Fine-Tuning */
html.dark-mode .mahamudfutureit_social_menu a.twitter,
body.dark-mode .mahamudfutureit_social_menu a.twitter {
  border-color: #475569;
}

/* ========== Headline Marquee Ticker (শিরোনাম) ========== */
.homepage-content-wrapper {
  padding-top: 24px !important;
}
.mahamudfutureit-ticker-container {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  overflow: hidden;
  height: 44px;
  margin-top: 4px;
  margin-bottom: 16px;
  box-shadow: 0 1px 4px rgba(0,0,0,0.04);
}
.mahamudfutureit-ticker-title {
  background: linear-gradient(135deg, #1B8415, #14620f);
  color: #ffffff;
  font-weight: 800;
  font-size: 14.5px;
  padding: 0 16px;
  height: 100%;
  display: flex;
  align-items: center;
  flex-shrink: 0;
  position: relative;
  letter-spacing: 0.5px;
}
.mahamudfutureit-ticker-title::after {
  content: '';
  position: absolute;
  right: -10px;
  top: 50%;
  transform: translateY(-50%);
  border-top: 8px solid transparent;
  border-bottom: 8px solid transparent;
  border-left: 10px solid #14620f;
  z-index: 2;
}
.mahamudfutureit-ticker {
  flex: 1;
  overflow: hidden;
  position: relative;
  height: 100%;
}
.mahamudfutureit-ticker ul {
  display: flex;
  align-items: center;
  list-style: none;
  margin: 0;
  padding: 0;
  height: 100%;
  white-space: nowrap;
  animation: bnnMarqueeScroll 35s linear infinite;
}
.mahamudfutureit-ticker:hover ul {
  animation-play-state: paused;
}
@keyframes bnnMarqueeScroll {
  0% { transform: translateX(0%); }
  100% { transform: translateX(-50%); }
}
.mahamudfutureit-ticker li {
  display: inline-flex;
  align-items: center;
  padding: 0 18px;
}
.ticker-item {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 14px !important;
  font-weight: 400 !important;
  font-family: 'Noto Sans Bengali', 'Hind Siliguri', sans-serif !important;
  letter-spacing: 0.1px;
}
.ticker-item a,
.ticker-item .tech-text {
  font-size: 14px !important;
  font-weight: 400 !important;
  font-family: 'Noto Sans Bengali', 'Hind Siliguri', sans-serif !important;
  line-height: 1.35;
}
.bnn-ticker-badge-tag {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background-color: #dc2626 !important;
  color: #ffffff !important;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  letter-spacing: 0.6px !important;
  text-transform: uppercase !important;
  padding: 3px 6px !important;
  border-radius: 4px !important;
  vertical-align: middle !important;
  flex-shrink: 0 !important;
  box-shadow: 0 1px 2px rgba(220, 38, 38, 0.25) !important;
}
.ticker_img_icon {
  width: 22px;
  height: auto;
  border-radius: 4px;
}

/* ========== Ranked Trending Topic Pills (ট্রেন্ডিং) ========== */
.trending-area {
  margin-bottom: 14px;
}
.trending-wrapper {
  display: flex;
  align-items: center;
  background: #ffffff;
  border: 1px solid #ececec;
  border-radius: 30px;
  overflow: hidden;
  min-height: 42px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.05);
}
.trending-label {
  display: flex;
  align-items: center;
  gap: 7px;
  flex-shrink: 0;
  padding: 0 20px 0 18px;
  background: linear-gradient(120deg, #1B8415, #24aa1c, #1B8415);
  background-size: 200% 200%;
  animation: trendShine 3.5s ease infinite;
  color: #ffffff;
  font-weight: 800;
  font-size: 13px;
  letter-spacing: 0.6px;
  white-space: nowrap;
  position: relative;
  align-self: stretch;
}
@keyframes trendShine {
  0% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}
.trending-label::after {
  content: '';
  position: absolute;
  right: -11px;
  top: 0;
  bottom: 0;
  width: 22px;
  background: #1B8415;
  clip-path: polygon(0 0, 45% 0, 100% 50%, 45% 100%, 0 100%);
  z-index: 2;
}
.trending-label .t-icon {
  font-size: 14px;
  color: #ffb703;
  animation: trendFire 1.4s ease-in-out infinite alternate;
}
@keyframes trendFire {
  from { transform: scale(1) rotate(-6deg); }
  to { transform: scale(1.25) rotate(6deg); }
}
.trending-scroll-wrap {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  position: relative;
}
.trending-scroll {
  display: flex;
  align-items: center;
  padding: 0 12px 0 18px;
  overflow-x: auto;
  scrollbar-width: none;
  gap: 8px;
  min-height: 42px;
  counter-reset: trendnum;
}
.trending-scroll::-webkit-scrollbar { display: none; }
.trending-scroll a {
  counter-increment: trendnum;
  flex-shrink: 0;
  white-space: nowrap;
  font-size: 13px;
  font-weight: 600;
  color: #2c2c2c;
  text-decoration: none;
  padding: 5px 14px 5px 28px;
  border-radius: 20px;
  border: 1px solid #e5e7eb;
  background: #f9fafb;
  transition: all 0.2s ease;
  position: relative;
}
.trending-scroll a::before {
  content: counter(trendnum);
  position: absolute;
  left: 7px;
  top: 50%;
  transform: translateY(-50%);
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: linear-gradient(135deg, #1B8415, #24aa1c);
  color: #ffffff;
  font-size: 10px;
  font-weight: 800;
  display: flex;
  align-items: center;
  justify-content: center;
}
.trending-scroll a:nth-child(n+4)::before {
  background: #9ca3af;
}
.trending-scroll a:hover {
  background: #1B8415;
  border-color: #1B8415;
  color: #ffffff;
  transform: translateY(-2px);
}
.trending-scroll a:hover::before {
  background: #ffffff;
  color: #1B8415;
}

/* ========== Sidebar Hero Slider (Rotator) ========== */
.home-slider-container {
  position: relative;
  border-radius: 8px;
  overflow: hidden;
  margin-bottom: 15px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.06);
}
.home-slider-wrapper {
  overflow: hidden;
}
.home-slider-track {
  display: flex;
  transition: transform 0.5s ease-in-out;
}
.home-slider-slide {
  flex-shrink: 0;
  width: 100%;
  position: relative;
}
.home-slider-slide a {
  display: block;
  position: relative;
}
.home-slider-slide img {
  width: 100%;
  height: 220px;
  object-fit: cover;
  display: block;
}
.slide-title-overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: linear-gradient(to top, rgba(20, 98, 15, 0.95), rgba(27, 132, 21, 0.85));
  padding: 8px 12px;
  text-align: center;
}
.slide-title-overlay h2 {
  font-size: 14px;
  line-height: 1.4;
  color: #ffffff;
  margin: 0;
  font-weight: 700;
}
.slider-arrow-left,
.slider-arrow-right {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 30px;
  height: 30px;
  background: rgba(0,0,0,0.5);
  border: none;
  border-radius: 50%;
  color: #ffffff;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s;
  z-index: 10;
  font-size: 13px;
}
.slider-arrow-left:hover,
.slider-arrow-right:hover {
  background: #1B8415;
}
.slider-arrow-left { left: 8px; }
.slider-arrow-right { right: 8px; }

/* ========== Lead News & Grid Typography ========== */
.lead_first .news-title {
  font-size: 30px !important;
  line-height: 1.35 !important;
  font-weight: 800 !important;
  color: #111827 !important;
  transition: color 0.2s ease;
}
.lead_first:hover .news-title {
  color: #1B8415 !important;
}
.summery-3 {
  font-size: 15px;
  line-height: 1.6;
  color: #4b5563;
  margin-top: 10px;
  margin-bottom: 8px;
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.news-time {
  font-size: 12.5px;
  color: #6b7280;
}
.news-title-1 {
  font-size: 16px !important;
  line-height: 1.4 !important;
  font-weight: 700 !important;
  color: #1f2937 !important;
  margin: 0;
  transition: color 0.2s;
}
.news-title-1:hover {
  color: #1B8415 !important;
}
.news-title-2 {
  font-size: 15px !important;
  line-height: 1.4 !important;
  font-weight: 700 !important;
  color: #1f2937 !important;
}
.news-title-3 {
  font-size: 14px !important;
  line-height: 1.4 !important;
  font-weight: 600 !important;
  color: #1f2937 !important;
}
.news-title-4 {
  font-size: 13.5px !important;
  line-height: 1.4 !important;
  font-weight: 600 !important;
  color: #1f2937 !important;
}

/* Category Postcard Headings */
.heading-postcard {
  border-bottom: 2px solid #1B8415;
  padding-bottom: 6px;
  margin-bottom: 12px;
}
.heading-postcard .hp-name {
  color: #1B8415;
  font-weight: 800;
  font-size: 18px;
  text-decoration: none;
}
.heading-postcard .indicator-hp {
  color: #1B8415;
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
}
.heading-postcard .indicator-hp:hover {
  text-decoration: underline;
}

.ps-category-lead-news {
  position: relative;
  overflow: hidden;
  border-radius: 8px;
}
.ps-category-lead-news .ps-clead-title {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: linear-gradient(to top, rgba(0,0,0,0.85), transparent);
  padding: 14px 10px 8px;
}

.prothom-songbad-post-style {
  transition: all 0.2s ease;
  text-decoration: none;
}
.prothom-songbad-post-style:hover h1 {
  color: #1B8415 !important;
}
.ps-post-line-img {
  height: 72px;
  object-fit: cover;
  border-radius: 6px;
}

/* ========== Namaz Widget Styles ========== */
.namaz-widget {
  border: 1px solid #e0e2e5;
}
.namaz-pattern-strip {
  height: 4px;
  background: repeating-linear-gradient(45deg, #1B8415, #1B8415 10px, #e60000 10px, #e60000 20px);
}
.namaz-row.active-waqt {
  background-color: #f0fdf4 !important;
  border-radius: 6px;
  padding-left: 8px !important;
  padding-right: 8px !important;
}
.namaz-row.active-waqt .namaz-name,
.namaz-row.active-waqt .namaz-time {
  color: #1B8415 !important;
  font-weight: 800 !important;
}
.namaz-row.active-waqt .namaz-dot {
  background: #eab308 !important;
  box-shadow: 0 0 0 3px rgba(234, 179, 8, 0.25) !important;
}
.namaz-dot {
  display: inline-block;
  width: 7px;
  height: 7px;
  border-radius: 1px;
  background: #1B8415;
  transform: rotate(45deg);
  margin-right: 8px;
}
.namaz-name {
  font-size: 13.5px;
  font-weight: 700;
  color: #1f2937;
  display: flex;
  align-items: center;
}
.namaz-time {
  font-size: 13.5px;
  color: #1B8415;
}

/* ============================================================================
   BNN BANGLA COMPREHENSIVE DARK MODE & HIGH-CONTRAST SYSTEM
   ============================================================================ */

/* 1. Base Variables & Body */
html.dark-mode,
body.dark-mode,
.dark-mode {
  --bnn-body-bg: #0b1120 !important;
  --bnn-card-bg: #1e293b !important;
  --bnn-text-main: #f8fafc !important;
  --bnn-text-muted: #94a3b8 !important;
  --bnn-border: #334155 !important;
  background-color: #0b1120 !important;
  color: #f8fafc !important;
}

html.dark-mode body,
body.dark-mode {
  background-color: #0b1120 !important;
  color: #f8fafc !important;
}

/* 2. Global Bootstrap Color Overrides in Dark Mode */
.dark-mode .text-dark,
html.dark-mode .text-dark,
body.dark-mode .text-dark {
  color: #f8fafc !important;
}
.dark-mode .text-secondary,
html.dark-mode .text-secondary,
body.dark-mode .text-secondary {
  color: #cbd5e1 !important;
}
.dark-mode .text-muted,
html.dark-mode .text-muted,
body.dark-mode .text-muted {
  color: #94a3b8 !important;
}
.dark-mode .text-success,
html.dark-mode .text-success,
body.dark-mode .text-success {
  color: #22c55e !important;
}
.dark-mode .title-accent-bar,
html.dark-mode .title-accent-bar,
body.dark-mode .title-accent-bar {
  background-color: #22c55e !important;
}
.dark-mode .highlight-news-block,
.dark-mode .missed-news-block,
html.dark-mode .highlight-news-block,
html.dark-mode .missed-news-block,
body.dark-mode .highlight-news-block,
body.dark-mode .missed-news-block {
  background-color: #111827 !important;
  border-color: #1f2937 !important;
}
.dark-mode .highlight-news-block .section-title,
.dark-mode .missed-news-block .section-title,
html.dark-mode .highlight-news-block .section-title,
html.dark-mode .missed-news-block .section-title,
body.dark-mode .highlight-news-block .section-title,
body.dark-mode .missed-news-block .section-title {
  color: #22c55e !important;
}
.dark-mode .highlight-news-block .bg-light,
.dark-mode .missed-news-block .border,
html.dark-mode .highlight-news-block .bg-light,
html.dark-mode .missed-news-block .border,
body.dark-mode .highlight-news-block .bg-light,
body.dark-mode .missed-news-block .border {
  background-color: #1f2937 !important;
  border-color: #374151 !important;
}
.dark-mode .highlight-news-block a,
.dark-mode .missed-news-block a,
.dark-mode .missed-news-block .secondary-title,
html.dark-mode .highlight-news-block a,
html.dark-mode .missed-news-block a,
html.dark-mode .missed-news-block .secondary-title,
body.dark-mode .highlight-news-block a,
body.dark-mode .missed-news-block a,
body.dark-mode .missed-news-block .secondary-title {
  color: #f9fafb !important;
}
.dark-mode .highlight-news-block a:hover,
.dark-mode .missed-news-block a:hover,
html.dark-mode .highlight-news-block a:hover,
html.dark-mode .missed-news-block a:hover,
body.dark-mode .highlight-news-block a:hover,
body.dark-mode .missed-news-block a:hover {
  color: #4ade80 !important;
}
.dark-mode .missed-news-block .text-muted,
html.dark-mode .missed-news-block .text-muted,
body.dark-mode .missed-news-block .text-muted {
  color: #9ca3af !important;
}
.dark-mode .bg-white,
html.dark-mode .bg-white,
body.dark-mode .bg-white {
  background-color: #1e293b !important;
  color: #f8fafc !important;
}
.dark-mode .bg-light,
html.dark-mode .bg-light,
body.dark-mode .bg-light {
  background-color: #0f172a !important;
  color: #f8fafc !important;
}
.dark-mode .border,
html.dark-mode .border,
body.dark-mode .border,
.dark-mode .border-bottom,
html.dark-mode .border-bottom,
body.dark-mode .border-bottom,
.dark-mode .border-top,
html.dark-mode .border-top,
body.dark-mode .border-top,
.dark-mode .border-start,
html.dark-mode .border-start,
body.dark-mode .border-start,
.dark-mode .border-end,
html.dark-mode .border-end,
body.dark-mode .border-end {
  border-color: #334155 !important;
}
.dark-mode hr,
html.dark-mode hr,
body.dark-mode hr {
  border-color: #334155 !important;
  opacity: 0.6 !important;
}

/* 3. Desktop Header & Navigation */
.dark-mode .bnn-main-header,
.dark-mode .tt_mainbar,
html.dark-mode .tt_mainbar,
body.dark-mode .tt_mainbar {
  background-color: #0f172a !important;
  border-bottom: 1px solid #1e293b !important;
}
.dark-mode .header_date_location,
html.dark-mode .header_date_location,
body.dark-mode .header_date_location {
  color: #94a3b8 !important;
}
.dark-mode .bnn-header-action-link,
html.dark-mode .bnn-header-action-link,
body.dark-mode .bnn-header-action-link {
  color: #f8fafc !important;
}
.dark-mode .bnn-header-action-link:hover,
html.dark-mode .bnn-header-action-link:hover,
body.dark-mode .bnn-header-action-link:hover {
  color: #4ade80 !important;
}
.dark-mode .bnn-youtube-live-btn:not(.is-live),
html.dark-mode .bnn-youtube-live-btn:not(.is-live),
body.dark-mode .bnn-youtube-live-btn:not(.is-live) {
  background-color: #1e293b !important;
  color: #f8fafc !important;
  border-color: #22c55e !important;
}
.dark-mode .tt_navbar,
html.dark-mode .tt_navbar,
body.dark-mode .tt_navbar {
  background-color: #1e293b !important;
  border-bottom: 1px solid #334155 !important;
}
.dark-mode .bnn-nav-link,
.dark-mode .tt_nav-menu a,
html.dark-mode .bnn-nav-link,
body.dark-mode .bnn-nav-link {
  color: #f1f5f9 !important;
}
.dark-mode .bnn-nav-link:hover,
html.dark-mode .bnn-nav-link:hover,
body.dark-mode .bnn-nav-link:hover {
  color: #4ade80 !important;
}
.dark-mode .bnn-nav-link.active,
html.dark-mode .bnn-nav-link.active,
body.dark-mode .bnn-nav-link.active {
  color: #4ade80 !important;
}
.dark-mode .header_search_icon,
.dark-mode .header_profile_icon,
.dark-mode .header_theme_icon,
.dark-mode .header_navmanu_icon,
html.dark-mode .header_search_icon,
html.dark-mode .header_profile_icon,
html.dark-mode .header_theme_icon,
html.dark-mode .header_navmanu_icon,
body.dark-mode .header_search_icon,
body.dark-mode .header_profile_icon,
body.dark-mode .header_theme_icon,
body.dark-mode .header_navmanu_icon {
  color: #f8fafc !important;
}

/* 4. Mobile Header */
.dark-mode #mobileNavbar,
.dark-mode .mtopbar,
.dark-mode .mheader,
html.dark-mode #mobileNavbar,
body.dark-mode #mobileNavbar {
  background-color: #0f172a !important;
  border-color: #1e293b !important;
  color: #f8fafc !important;
}
.dark-mode .codedokan_scroll_menu ul li a,
html.dark-mode .codedokan_scroll_menu ul li a,
body.dark-mode .codedokan_scroll_menu ul li a {
  color: #f8fafc !important;
}
.dark-mode .bn-en-btn,
html.dark-mode .bn-en-btn,
body.dark-mode .bn-en-btn {
  background-color: #1e293b !important;
  color: #cbd5e1 !important;
  border-color: #334155 !important;
}

/* 5. Ticker & Trending */
.dark-mode .mahamudfutureit-ticker-container,
html.dark-mode .mahamudfutureit-ticker-container,
body.dark-mode .mahamudfutureit-ticker-container {
  background-color: #1e293b !important;
  border-color: #334155 !important;
}
.dark-mode .mahamudfutureit-ticker-title,
html.dark-mode .mahamudfutureit-ticker-title,
body.dark-mode .mahamudfutureit-ticker-title {
  background-color: #15803d !important;
  color: #ffffff !important;
}
.dark-mode .ticker-item .tech-text,
html.dark-mode .ticker-item .tech-text,
body.dark-mode .ticker-item .tech-text {
  color: #f8fafc !important;
}
.dark-mode .ticker-item .tech-text:hover,
html.dark-mode .ticker-item .tech-text:hover,
body.dark-mode .ticker-item .tech-text:hover {
  color: #4ade80 !important;
}
.dark-mode .trending-wrapper,
html.dark-mode .trending-wrapper,
body.dark-mode .trending-wrapper {
  background-color: #1e293b !important;
  border-color: #334155 !important;
}
.dark-mode .trending-label,
html.dark-mode .trending-label,
body.dark-mode .trending-label {
  background-color: #1B8415 !important;
  color: #ffffff !important;
}
.dark-mode .trending-scroll a,
html.dark-mode .trending-scroll a,
body.dark-mode .trending-scroll a {
  background-color: #334155 !important;
  color: #f8fafc !important;
  border: 1px solid #475569 !important;
}
.dark-mode .trending-scroll a:hover,
html.dark-mode .trending-scroll a:hover,
body.dark-mode .trending-scroll a:hover {
  background-color: #1B8415 !important;
  color: #ffffff !important;
  border-color: #1B8415 !important;
}

/* 6. Promotional Ad Banner */
.dark-mode .top-ad-promo-banner,
html.dark-mode .top-ad-promo-banner,
body.dark-mode .top-ad-promo-banner {
  background-color: #1e293b !important;
  border-color: #334155 !important;
}
.dark-mode .promo-text,
html.dark-mode .promo-text,
body.dark-mode .promo-text {
  color: #f8fafc !important;
}
.dark-mode .promo-btn-green,
html.dark-mode .promo-btn-green,
body.dark-mode .promo-btn-green {
  border-color: #4ade80 !important;
  color: #4ade80 !important;
}

/* 7. Articles, Headlines, Titles & Summaries (Transparent backgrounds, crisp white text) */
.dark-mode .news-title,
.dark-mode .news-title-1,
.dark-mode .news-title-2,
.dark-mode .news-title-3,
.dark-mode .news-title-4,
.dark-mode .hero-main-title,
.dark-mode .tech-text,
.dark-mode .tt-text,
html.dark-mode .news-title,
html.dark-mode .news-title-1,
html.dark-mode .news-title-2,
html.dark-mode .news-title-3,
html.dark-mode .news-title-4,
html.dark-mode .hero-main-title,
html.dark-mode .tech-text,
html.dark-mode .tt-text,
body.dark-mode .news-title,
body.dark-mode .news-title-1,
body.dark-mode .news-title-2,
body.dark-mode .news-title-3,
body.dark-mode .news-title-4,
body.dark-mode .hero-main-title,
body.dark-mode .tech-text,
body.dark-mode .tt-text {
  color: #f8fafc !important;
  background-color: transparent !important;
  border: none !important;
}

.dark-mode a:hover .news-title,
.dark-mode a:hover .news-title-1,
.dark-mode a:hover .news-title-2,
.dark-mode a:hover .news-title-3,
.dark-mode a:hover .news-title-4,
.dark-mode a:hover .tt-text,
html.dark-mode a:hover .news-title,
html.dark-mode a:hover .news-title-1,
html.dark-mode a:hover .news-title-2,
html.dark-mode a:hover .news-title-3,
html.dark-mode a:hover .news-title-4,
html.dark-mode a:hover .tt-text {
  color: #4ade80 !important;
}

.dark-mode .summery-3,
.dark-mode .summery-4,
.dark-mode .card-excerpt,
html.dark-mode .summery-3,
html.dark-mode .summery-4,
html.dark-mode .card-excerpt,
body.dark-mode .summery-3,
body.dark-mode .summery-4,
body.dark-mode .card-excerpt {
  color: #cbd5e1 !important;
  background-color: transparent !important;
}

.dark-mode .news-time,
html.dark-mode .news-time,
body.dark-mode .news-time {
  color: #94a3b8 !important;
}

/* 8. Cards & Post Containers */
.dark-mode .lead_first,
.dark-mode .prothom-songbad-post-style,
.dark-mode .three-col-box,
html.dark-mode .lead_first,
html.dark-mode .prothom-songbad-post-style,
html.dark-mode .three-col-box,
body.dark-mode .lead_first,
body.dark-mode .prothom-songbad-post-style,
body.dark-mode .three-col-box {
  background-color: #1e293b !important;
  border-color: #334155 !important;
  color: #f8fafc !important;
}

/* 9. Namaz Widget in Dark Mode */
.dark-mode .namaz-widget,
html.dark-mode .namaz-widget,
body.dark-mode .namaz-widget {
  background-color: #1e293b !important;
  border: 1px solid #334155 !important;
}
.dark-mode .namaz-header,
html.dark-mode .namaz-header,
body.dark-mode .namaz-header {
  background-color: #14532d !important;
  color: #ffffff !important;
}
.dark-mode .namaz-row,
html.dark-mode .namaz-row,
body.dark-mode .namaz-row {
  border-bottom: 1px solid #334155 !important;
  color: #f8fafc !important;
}
.dark-mode .namaz-name,
html.dark-mode .namaz-name,
body.dark-mode .namaz-name {
  color: #f8fafc !important;
}
.dark-mode .namaz-time,
html.dark-mode .namaz-time,
body.dark-mode .namaz-time {
  color: #4ade80 !important;
}
.dark-mode .namaz-row.namaz-active,
html.dark-mode .namaz-row.namaz-active,
body.dark-mode .namaz-row.namaz-active {
  background-color: rgba(34, 197, 94, 0.22) !important;
  color: #4ade80 !important;
}

/* 10. Heading Postcard & Section Headers (Image 1 Style) */
.heading-postcard.hp-4 {
  background-color: #f1f3f5;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-radius: 4px;
  overflow: hidden;
  margin-bottom: 14px;
  border: 1px solid #e2e8f0;
}
.heading-postcard.hp-4 h2,
.heading-postcard.hp-4 h3 {
  margin: 0;
  background-color: #111827;
  padding: 6px 16px;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.4;
}
.heading-postcard.hp-4 .hp-name {
  color: #ffffff !important;
  text-decoration: none;
}
.heading-postcard.hp-4 .indicator-hp {
  color: #374151;
  font-size: 13px;
  font-weight: 600;
  padding-right: 14px;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  transition: color 0.2s ease;
}
.heading-postcard.hp-4 .indicator-hp:hover {
  color: #1B8415;
}

/* Heading Postcard in Dark Mode */
.dark-mode .heading-postcard.hp-4,
html.dark-mode .heading-postcard.hp-4,
body.dark-mode .heading-postcard.hp-4 {
  background-color: #1e293b !important;
  border-color: #334155 !important;
}
.dark-mode .heading-postcard.hp-4 h2,
.dark-mode .heading-postcard.hp-4 h3,
html.dark-mode .heading-postcard.hp-4 h2,
html.dark-mode .heading-postcard.hp-4 h3,
body.dark-mode .heading-postcard.hp-4 h2,
body.dark-mode .heading-postcard.hp-4 h3 {
  background-color: #0f172a !important;
  color: #ffffff !important;
}
.dark-mode .heading-postcard.hp-4 .indicator-hp,
html.dark-mode .heading-postcard.hp-4 .indicator-hp,
body.dark-mode .heading-postcard.hp-4 .indicator-hp {
  color: #cbd5e1 !important;
}
.dark-mode .heading-postcard.hp-4 .indicator-hp:hover,
html.dark-mode .heading-postcard.hp-4 .indicator-hp:hover,
body.dark-mode .heading-postcard.hp-4 .indicator-hp:hover {
  color: #4ade80 !important;
}

/* 11. Three-Column Magazine Section Lead and Sub-items (Image 1) */
.ps-category-lead-news {
  position: relative;
  border-radius: 6px;
  overflow: hidden;
  margin-bottom: 14px;
}
.ps-category-lead-news .ps-clead-img img {
  width: 100%;
  height: 200px;
  object-fit: cover;
  display: block;
  transition: transform 0.35s ease;
}
.ps-category-lead-news:hover .ps-clead-img img {
  transform: scale(1.03);
}
.ps-category-lead-news .ps-clead-title {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.92) 0%, rgba(0, 0, 0, 0.5) 65%, transparent 100%);
  padding: 12px 14px 10px 14px;
}
.ps-category-lead-news .news-title-2 {
  color: #ffffff !important;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.4;
  margin: 0;
  text-shadow: 0 1px 3px rgba(0,0,0,0.6);
}
.three-column-magazine-section .prothom-songbad-post-style {
  padding: 6px 0;
  border-bottom: 1px solid #f1f3f5;
  transition: background-color 0.2s ease;
}
.three-column-magazine-section .prothom-songbad-post-style:last-child {
  border-bottom: none;
}
.three-column-magazine-section .ps-post-line-img {
  width: 100%;
  height: 68px;
  object-fit: cover;
  border-radius: 4px;
  transition: opacity 0.2s ease;
}
.three-column-magazine-section .prothom-songbad-post-style:hover .ps-post-line-img {
  opacity: 0.9;
}
.three-column-magazine-section .news-title-2.tt-text {
  font-size: 13.5px;
  font-weight: 600;
  line-height: 1.35;
  color: #111827;
  transition: color 0.2s ease;
}
.three-column-magazine-section .prothom-songbad-post-style:hover .news-title-2.tt-text {
  color: #1B8415;
}
.dark-mode .three-column-magazine-section .prothom-songbad-post-style,
html.dark-mode .three-column-magazine-section .prothom-songbad-post-style,
body.dark-mode .three-column-magazine-section .prothom-songbad-post-style {
  border-bottom-color: rgba(255, 255, 255, 0.08) !important;
}
.dark-mode .three-column-magazine-section .news-title-2.tt-text,
html.dark-mode .three-column-magazine-section .news-title-2.tt-text,
body.dark-mode .three-column-magazine-section .news-title-2.tt-text {
  color: #f8fafc !important;
}
.dark-mode .three-column-magazine-section .prothom-songbad-post-style:hover .news-title-2.tt-text,
html.dark-mode .three-column-magazine-section .prothom-songbad-post-style:hover .news-title-2.tt-text,
body.dark-mode .three-column-magazine-section .prothom-songbad-post-style:hover .news-title-2.tt-text {
  color: #4ade80 !important;
}

/* 12. BNN Toggle Menu (Drawer) - Light & Dark Modes */
.bnn-mobile-drawer {
  background-color: #ffffff !important;
  color: #111827 !important;
  border-right: 1px solid #e5e7eb !important;
  box-shadow: 4px 0 25px rgba(0, 0, 0, 0.15) !important;
}
.bnn-mobile-drawer .bnn-drawer-header {
  background-color: #f8fafc !important;
  border-bottom: 1px solid #e5e7eb !important;
}
.bnn-mobile-drawer .bnn-drawer-login-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 5px !important;
  white-space: nowrap !important;
  padding: 4px 10px !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  border-radius: 20px !important;
  border: 1px solid #d1d5db !important;
  background-color: #ffffff !important;
  color: #111827 !important;
  flex-shrink: 0 !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
}
.bnn-mobile-drawer .bnn-drawer-login-btn:hover {
  background-color: #f0fdf4 !important;
  border-color: #1B8415 !important;
  color: #1B8415 !important;
}
.bnn-mobile-drawer .bnn-drawer-login-btn i {
  font-size: 14px !important;
  line-height: 1 !important;
}
.bnn-mobile-drawer .bnn-drawer-close-btn {
  filter: none !important;
  opacity: 0.7;
}
.bnn-mobile-drawer .bnn-drawer-close-btn:hover {
  opacity: 1;
}
.bnn-mobile-drawer .bnn-drawer-body {
  background-color: #ffffff !important;
}
.bnn-mobile-drawer .bnn-drawer-search-input {
  background-color: #f9fafb !important;
  border: 1px solid #d1d5db !important;
  color: #111827 !important;
  font-size: 14px !important;
}
.bnn-mobile-drawer .bnn-drawer-search-input::placeholder {
  color: #9ca3af !important;
}
.bnn-mobile-drawer .bnn-drawer-item {
  border-bottom: 1px solid #f1f5f9 !important;
}
.bnn-mobile-drawer .bnn-drawer-link {
  color: #111827 !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  padding: 8px 12px !important;
  display: block !important;
  border-radius: 6px !important;
  transition: all 0.18s ease !important;
}
.bnn-mobile-drawer .bnn-drawer-link.home-link {
  color: #1B8415 !important;
}
.bnn-mobile-drawer .bnn-drawer-link:hover {
  color: #1B8415 !important;
  background-color: #f0fdf4 !important;
}
.bnn-mobile-drawer .bnn-drawer-chevron {
  color: #6b7280 !important;
}
.bnn-mobile-drawer .bnn-drawer-sublink {
  color: #4b5563 !important;
  font-size: 14px !important;
  text-decoration: none !important;
  display: block !important;
  padding: 4px 10px !important;
  border-radius: 4px !important;
  transition: all 0.18s ease !important;
}
.bnn-mobile-drawer .bnn-drawer-sublink:hover {
  color: #1B8415 !important;
  background-color: #f0fdf4 !important;
}
.bnn-mobile-drawer .bnn-drawer-footer {
  background-color: #f8fafc !important;
  border-top: 1px solid #e5e7eb !important;
}
.bnn-mobile-drawer .bnn-drawer-footer-text {
  color: #6b7280 !important;
}

/* Dark Mode Drawer */
.dark-mode .bnn-mobile-drawer,
html.dark-mode .bnn-mobile-drawer,
body.dark-mode .bnn-mobile-drawer {
  background-color: #0f172a !important;
  color: #f8fafc !important;
  border-right: 1px solid #1e293b !important;
  box-shadow: 4px 0 25px rgba(0, 0, 0, 0.6) !important;
}
.dark-mode .bnn-mobile-drawer .bnn-drawer-header,
html.dark-mode .bnn-mobile-drawer .bnn-drawer-header,
body.dark-mode .bnn-mobile-drawer .bnn-drawer-header {
  background-color: #1e293b !important;
  border-bottom: 1px solid #334155 !important;
}
.dark-mode .bnn-mobile-drawer .bnn-drawer-login-btn,
html.dark-mode .bnn-mobile-drawer .bnn-drawer-login-btn,
body.dark-mode .bnn-mobile-drawer .bnn-drawer-login-btn {
  background-color: #0f172a !important;
  border: 1px solid #475569 !important;
  color: #f8fafc !important;
}
.dark-mode .bnn-mobile-drawer .bnn-drawer-login-btn:hover,
html.dark-mode .bnn-mobile-drawer .bnn-drawer-login-btn:hover,
body.dark-mode .bnn-mobile-drawer .bnn-drawer-login-btn:hover {
  background-color: #1e293b !important;
  color: #4ade80 !important;
}
.dark-mode .bnn-mobile-drawer .bnn-drawer-close-btn,
html.dark-mode .bnn-mobile-drawer .bnn-drawer-close-btn,
body.dark-mode .bnn-mobile-drawer .bnn-drawer-close-btn {
  filter: invert(1) grayscale(100%) brightness(200%) !important;
  opacity: 0.9 !important;
}
.dark-mode .bnn-mobile-drawer .bnn-drawer-body,
html.dark-mode .bnn-mobile-drawer .bnn-drawer-body,
body.dark-mode .bnn-mobile-drawer .bnn-drawer-body {
  background-color: #0f172a !important;
}
.dark-mode .bnn-mobile-drawer .bnn-drawer-search-input,
html.dark-mode .bnn-mobile-drawer .bnn-drawer-search-input,
body.dark-mode .bnn-mobile-drawer .bnn-drawer-search-input {
  background-color: #1e293b !important;
  border: 1px solid #334155 !important;
  color: #f8fafc !important;
}
.dark-mode .bnn-mobile-drawer .bnn-drawer-search-input::placeholder,
html.dark-mode .bnn-mobile-drawer .bnn-drawer-search-input::placeholder,
body.dark-mode .bnn-mobile-drawer .bnn-drawer-search-input::placeholder {
  color: #94a3b8 !important;
}
.dark-mode .bnn-mobile-drawer .bnn-drawer-item,
html.dark-mode .bnn-mobile-drawer .bnn-drawer-item,
body.dark-mode .bnn-mobile-drawer .bnn-drawer-item {
  border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
}
.dark-mode .bnn-mobile-drawer .bnn-drawer-link,
html.dark-mode .bnn-mobile-drawer .bnn-drawer-link,
body.dark-mode .bnn-mobile-drawer .bnn-drawer-link {
  color: #f8fafc !important;
}
.dark-mode .bnn-mobile-drawer .bnn-drawer-link.home-link,
html.dark-mode .bnn-mobile-drawer .bnn-drawer-link.home-link,
body.dark-mode .bnn-mobile-drawer .bnn-drawer-link.home-link {
  color: #4ade80 !important;
}
.dark-mode .bnn-mobile-drawer .bnn-drawer-link:hover,
html.dark-mode .bnn-mobile-drawer .bnn-drawer-link:hover,
body.dark-mode .bnn-mobile-drawer .bnn-drawer-link:hover {
  color: #4ade80 !important;
  background-color: rgba(74, 222, 128, 0.12) !important;
}
.dark-mode .bnn-mobile-drawer .bnn-drawer-chevron,
html.dark-mode .bnn-mobile-drawer .bnn-drawer-chevron,
body.dark-mode .bnn-mobile-drawer .bnn-drawer-chevron {
  color: #94a3b8 !important;
}
.dark-mode .bnn-mobile-drawer .bnn-drawer-sublink,
html.dark-mode .bnn-mobile-drawer .bnn-drawer-sublink,
body.dark-mode .bnn-mobile-drawer .bnn-drawer-sublink {
  color: #cbd5e1 !important;
}
.dark-mode .bnn-mobile-drawer .bnn-drawer-sublink:hover,
html.dark-mode .bnn-mobile-drawer .bnn-drawer-sublink:hover,
body.dark-mode .bnn-mobile-drawer .bnn-drawer-sublink:hover {
  color: #4ade80 !important;
  background-color: rgba(74, 222, 128, 0.1) !important;
}
.dark-mode .bnn-mobile-drawer .bnn-drawer-footer,
html.dark-mode .bnn-mobile-drawer .bnn-drawer-footer,
body.dark-mode .bnn-mobile-drawer .bnn-drawer-footer {
  background-color: #1e293b !important;
  border-top: 1px solid #334155 !important;
}
.dark-mode .bnn-mobile-drawer .bnn-drawer-footer-text,
html.dark-mode .bnn-mobile-drawer .bnn-drawer-footer-text,
body.dark-mode .bnn-mobile-drawer .bnn-drawer-footer-text {
  color: #94a3b8 !important;
}

/* 13. Single Article & Archive Reading Typography in Dark Mode */
.dark-mode .article-body-content,
.dark-mode .article-body-content p,
.dark-mode .bnn-article-body,
.dark-mode .bnn-article-body p,
html.dark-mode .article-body-content p,
body.dark-mode .article-body-content p {
  color: #e2e8f0 !important;
  font-size: 1.12rem !important;
  line-height: 1.85 !important;
}
.dark-mode .article-body-content h2,
.dark-mode .article-body-content h3,
.dark-mode .article-body-content h4,
html.dark-mode .article-body-content h2,
html.dark-mode .article-body-content h3,
html.dark-mode .article-body-content h4 {
  color: #ffffff !important;
}
.dark-mode .article-main-headline,
html.dark-mode .article-main-headline,
body.dark-mode .article-main-headline {
  color: #ffffff !important;
}
.dark-mode .tag-pill,
html.dark-mode .tag-pill,
body.dark-mode .tag-pill {
  background-color: #334155 !important;
  color: #f8fafc !important;
  border-color: #475569 !important;
}
.dark-mode .bnn-breadcrumb,
html.dark-mode .bnn-breadcrumb,
body.dark-mode .bnn-breadcrumb {
  background-color: #1e293b !important;
  color: #94a3b8 !important;
}
.dark-mode .bnn-breadcrumb a,
html.dark-mode .bnn-breadcrumb a {
  color: #cbd5e1 !important;
}
.dark-mode .bnn-breadcrumb a:hover,
html.dark-mode .bnn-breadcrumb a:hover {
  color: #4ade80 !important;
}

/* 14. Opinion Poll & Modal */
.dark-mode .mahamudfutureit_poll,
html.dark-mode .mahamudfutureit_poll,
body.dark-mode .mahamudfutureit_poll {
  background-color: #1e293b !important;
  border-color: #334155 !important;
  color: #f8fafc !important;
}
.dark-mode .poll-title,
html.dark-mode .poll-title,
body.dark-mode .poll-title {
  color: #f8fafc !important;
}
.dark-mode .modal-content,
html.dark-mode .modal-content,
body.dark-mode .modal-content {
  background-color: #1e293b !important;
  color: #f8fafc !important;
  border-color: #334155 !important;
}
.dark-mode .modal-header,
.dark-mode .modal-footer,
html.dark-mode .modal-header,
html.dark-mode .modal-footer {
  border-color: #334155 !important;
}

/* ============================================================================
   DESH-JOURNAL LAYOUT ARRANGEMENT & RESPONSIVE PROPORTION FIXES
   ============================================================================ */

/* 1. Header Isolation: Strictly Prevent Double Headers */
@media (min-width: 992px) {
  .mobile_header_three,
  .mobile_header,
  .mtopbar,
  .mheader {
    display: none !important;
  }
  .mahamudfutureit_header_1,
  .bnn-main-header {
    display: block !important;
  }
}

@media (max-width: 991.98px) {
  .mahamudfutureit_header_1,
  .bnn-main-header {
    display: none !important;
  }
  .mobile_header_three,
  .mobile_header {
    display: block !important;
  }
}

/* 2. Topbar & Brand Logo Alignment */
.bnn-main-header .tt_mainbar {
  background: #ffffff;
}
.bnn-red-logo-badge {
  display: inline-flex;
  align-items: center;
  background-color: #e50914;
  color: #ffffff !important;
  padding: 6px 16px;
  border-radius: 6px;
  font-weight: 800;
  text-decoration: none;
  letter-spacing: 0.5px;
  box-shadow: 0 2px 8px rgba(229, 9, 20, 0.25);
}
.bnn-red-logo-badge .logo-bnn-txt {
  font-size: 22px;
  font-weight: 900;
  font-family: 'Inter', -apple-system, sans-serif;
  padding-right: 6px;
  border-right: 1.5px solid rgba(255, 255, 255, 0.4);
}
.bnn-red-logo-badge .logo-bangla-txt {
  font-size: 20px;
  font-weight: 800;
  padding-left: 6px;
  font-family: var(--bnn-font-primary, 'Kalpurush', sans-serif);
}

.bnn-header-top-links {
  display: inline-flex !important;
  align-items: center !important;
  gap: 14px !important;
  flex-wrap: nowrap !important;
  white-space: nowrap !important;
}

.bnn-header-action-link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  font-size: 14.5px !important;
  font-weight: 600 !important;
  color: #374151 !important;
  white-space: nowrap !important;
  line-height: 1 !important;
  text-decoration: none !important;
  transition: color 0.2s ease !important;
}

.bnn-header-action-link:hover {
  color: #1B8415 !important;
}

.bnn-youtube-live-btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 4px 12px !important;
  border-radius: 6px !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  white-space: nowrap !important;
  line-height: 1.2 !important;
  text-decoration: none !important;
  transition: all 0.25s ease !important;
}

/* Inactive / Offline State (যখন লাইভ নেই - বাটনটি নিষ্ক্রিয় থাকবে ও কাজ করবে না) */
.bnn-youtube-live-btn:not(.is-live),
.bnn-youtube-live-btn.is-offline {
  background-color: #f1f5f9 !important;
  border: 1.5px solid #cbd5e1 !important;
  color: #94a3b8 !important;
  cursor: not-allowed !important;
  opacity: 0.75 !important;
  box-shadow: none !important;
  pointer-events: auto !important;
}

.bnn-youtube-live-btn:not(.is-live) i,
.bnn-youtube-live-btn.is-offline i {
  color: #94a3b8 !important;
}

.bnn-youtube-live-btn:not(.is-live):hover,
.bnn-youtube-live-btn.is-offline:hover {
  background-color: #f1f5f9 !important;
  border-color: #cbd5e1 !important;
  color: #94a3b8 !important;
  transform: none !important;
  box-shadow: none !important;
  cursor: not-allowed !important;
}

/* Dark Mode Inactive / Offline State */
html.dark-mode .bnn-youtube-live-btn:not(.is-live),
body.dark-mode .bnn-youtube-live-btn:not(.is-live),
html.dark-mode .bnn-youtube-live-btn.is-offline,
body.dark-mode .bnn-youtube-live-btn.is-offline {
  background-color: #1e293b !important;
  border-color: #334155 !important;
  color: #64748b !important;
  cursor: not-allowed !important;
  opacity: 0.7 !important;
  box-shadow: none !important;
}

html.dark-mode .bnn-youtube-live-btn:not(.is-live) i,
body.dark-mode .bnn-youtube-live-btn:not(.is-live) i,
html.dark-mode .bnn-youtube-live-btn.is-offline i,
body.dark-mode .bnn-youtube-live-btn.is-offline i {
  color: #64748b !important;
}

html.dark-mode .bnn-youtube-live-btn:not(.is-live):hover,
body.dark-mode .bnn-youtube-live-btn:not(.is-live):hover,
html.dark-mode .bnn-youtube-live-btn.is-offline:hover,
body.dark-mode .bnn-youtube-live-btn.is-offline:hover {
  background-color: #1e293b !important;
  border-color: #334155 !important;
  color: #64748b !important;
  transform: none !important;
  box-shadow: none !important;
  cursor: not-allowed !important;
}

/* Dynamic Live ON State (যখন লাইভ শুরু হবে - সম্পূর্ণ সক্রিয়, উজ্জ্বল লাল ও পালসিং অ্যানিমেশন) */
.bnn-youtube-live-btn.is-live {
  background: linear-gradient(135deg, #ff0000 0%, #d90000 100%) !important;
  border-color: #ff0000 !important;
  color: #ffffff !important;
  cursor: pointer !important;
  opacity: 1 !important;
  box-shadow: 0 0 0 0 rgba(255, 0, 0, 0.7), 0 2px 10px rgba(255, 0, 0, 0.45) !important;
  animation: bnnLivePulse 1.8s infinite ease-in-out !important;
}

.bnn-youtube-live-btn.is-live i {
  color: #ffffff !important;
}

.bnn-youtube-live-btn.is-live:hover {
  background: #cc0000 !important;
  border-color: #cc0000 !important;
  color: #ffffff !important;
  transform: translateY(-1px) scale(1.03) !important;
  box-shadow: 0 0 16px rgba(255, 0, 0, 0.75) !important;
  cursor: pointer !important;
}

/* Pulsing Red/White Dot for Live status */
.bnn-live-dot {
  width: 8px !important;
  height: 8px !important;
  background-color: #ffffff !important;
  border-radius: 50% !important;
  position: relative !important;
  display: inline-block !important;
  margin-left: 2px !important;
  box-shadow: 0 0 5px #ffffff !important;
}
.bnn-live-dot::after {
  content: '';
  position: absolute;
  top: -4px;
  left: -4px;
  right: -4px;
  bottom: -4px;
  border-radius: 50%;
  border: 2px solid #ffffff;
  animation: bnnDotWave 1.4s infinite cubic-bezier(0, 0.2, 0.8, 1);
  opacity: 0.85;
}

@keyframes bnnLivePulse {
  0% {
    box-shadow: 0 0 0 0 rgba(255, 0, 0, 0.7), 0 2px 8px rgba(255, 0, 0, 0.35);
  }
  70% {
    box-shadow: 0 0 0 8px rgba(255, 0, 0, 0), 0 2px 12px rgba(255, 0, 0, 0.5);
  }
  100% {
    box-shadow: 0 0 0 0 rgba(255, 0, 0, 0), 0 2px 8px rgba(255, 0, 0, 0.35);
  }
}

@keyframes bnnDotWave {
  0% {
    transform: scale(0.6);
    opacity: 1;
  }
  100% {
    transform: scale(2.2);
    opacity: 0;
  }
}

/* Dark Mode Support for Live Button */
html.dark-mode .bnn-youtube-live-btn.is-live,
body.dark-mode .bnn-youtube-live-btn.is-live {
  background: linear-gradient(135deg, #ff0000 0%, #b91c1c 100%) !important;
  border-color: #ff0000 !important;
  color: #ffffff !important;
}

/* 3. Hero Lead Section Image Proportions */
.lead_first {
  min-height: 304px;
}
.lead_first img {
  height: 270px !important;
  object-fit: cover !important;
  width: 100% !important;
  border-radius: 8px !important;
}
.lead_first .news-title {
  font-size: 28px !important;
  line-height: 1.3 !important;
  font-weight: 800 !important;
  color: #111827 !important;
}
.lead_first .news-title:hover {
  color: #1B8415 !important;
}

/* 4. Sidebar Hero Slider Constraint */
.sidebar-slider,
#homeSidebarSlider {
  height: 304px !important;
  max-height: 304px !important;
  position: relative !important;
  overflow: hidden !important;
  border-radius: 8px !important;
}
.sidebar-slider .home-slider-slide {
  height: 304px !important;
}
.sidebar-slider .home-slider-slide img {
  height: 304px !important;
  width: 100% !important;
  object-fit: cover !important;
}

/* Jatiyo Sidebar News List - Clean & Increased Gap */
.jatiyo-news-list {
  display: flex;
  flex-direction: column;
}
.jatiyo-news-item {
  padding-top: 10px;
  padding-bottom: 10px;
  border-bottom: 1px solid #f1f5f9;
  transition: all 0.2s ease;
}
.jatiyo-news-item:last-child {
  border-bottom: none;
  padding-bottom: 0;
}
.jatiyo-thumb-wrap {
  aspect-ratio: 16 / 10.5;
  height: 52px;
  overflow: hidden;
  border-radius: 4px;
  background: #f1f5f9;
}
.jatiyo-thumb-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.25s ease;
}
.jatiyo-news-item:hover .jatiyo-thumb-img {
  transform: scale(1.05);
}
.jatiyo-news-title {
  font-family: 'Noto Sans Bengali', 'Hind Siliguri', -apple-system, BlinkMacSystemFont, sans-serif !important;
  font-size: 13.5px !important;
  font-weight: 600 !important;
  line-height: 1.42 !important;
  color: #1f2937 !important;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  transition: color 0.15s ease;
}
.jatiyo-news-item:hover .jatiyo-news-title {
  color: var(--bnn-primary, #1B8415) !important;
}

/* Dark mode support for Jatiyo */
html.dark-mode .jatiyo-news-item,
body.dark-mode .jatiyo-news-item {
  border-bottom-color: #334155;
}
html.dark-mode .jatiyo-thumb-wrap,
body.dark-mode .jatiyo-thumb-wrap {
  background: #0f172a;
}
html.dark-mode .jatiyo-news-title,
body.dark-mode .jatiyo-news-title {
  color: #f1f5f9 !important;
}
html.dark-mode .jatiyo-news-item:hover .jatiyo-news-title,
body.dark-mode .jatiyo-news-item:hover .jatiyo-news-title {
  color: #4ade80 !important;
}

/* 5. Bangladesh Interactive Map Proportions */
.bnn-bangladesh-map-wrapper {
  width: 100%;
}
.bnn-svg-map-container {
  width: 100%;
  text-align: center;
  max-height: 340px;
  overflow: hidden;
}
.bnn-svg-map-container svg {
  max-width: 100% !important;
  max-height: 320px !important;
  height: auto !important;
  display: block !important;
  margin: 0 auto !important;
}

/* 6. Magazine Sections Inside Col-lg-9 (Fix Giant Images) */
.portal-magazine-sections-wrap {
  margin-top: 1rem !important;
  margin-bottom: 1.5rem !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 1.5rem !important;
}
.portal-magazine-sections-wrap .bnn-container {
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}
.portal-magazine-sections-wrap .bnn-portal-section {
  background: #ffffff;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  padding: 16px;
  box-shadow: 0 1px 3px rgba(0,0,0,0.06);
}
/* Dark Mode for Portal Magazine Sections (রাজনীতি, বিশ্ব, লাইফস্টাইল, খেলা) */
.dark-mode .portal-magazine-sections-wrap .bnn-portal-section,
html.dark-mode .portal-magazine-sections-wrap .bnn-portal-section,
body.dark-mode .portal-magazine-sections-wrap .bnn-portal-section,
.dark-mode .bnn-portal-section,
html.dark-mode .bnn-portal-section,
body.dark-mode .bnn-portal-section {
  background: #111827 !important;
  background-color: #111827 !important;
  border-color: #1f2937 !important;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.45) !important;
}

.dark-mode .portal-magazine-sections-wrap .bnn-sec-heading-text a,
.dark-mode .bnn-sec-heading-text a,
html.dark-mode .portal-magazine-sections-wrap .bnn-sec-heading-text a,
html.dark-mode .bnn-sec-heading-text a,
body.dark-mode .portal-magazine-sections-wrap .bnn-sec-heading-text a,
body.dark-mode .bnn-sec-heading-text a {
  color: #ffffff !important;
}

.dark-mode .portal-magazine-sections-wrap .bnn-sec-heading-text a:hover,
.dark-mode .bnn-sec-heading-text a:hover,
html.dark-mode .portal-magazine-sections-wrap .bnn-sec-heading-text a:hover,
html.dark-mode .bnn-sec-heading-text a:hover,
body.dark-mode .portal-magazine-sections-wrap .bnn-sec-heading-text a:hover,
body.dark-mode .bnn-sec-heading-text a:hover {
  color: #e50914 !important;
}

.dark-mode .portal-magazine-sections-wrap .bnn-lead-title a,
.dark-mode .bnn-lead-title a,
html.dark-mode .portal-magazine-sections-wrap .bnn-lead-title a,
html.dark-mode .bnn-lead-title a,
body.dark-mode .portal-magazine-sections-wrap .bnn-lead-title a,
body.dark-mode .bnn-lead-title a {
  color: #ff4d4d !important;
}

.dark-mode .portal-magazine-sections-wrap .bnn-lead-title a:hover,
.dark-mode .bnn-lead-title a:hover,
html.dark-mode .portal-magazine-sections-wrap .bnn-lead-title a:hover,
html.dark-mode .bnn-lead-title a:hover,
body.dark-mode .portal-magazine-sections-wrap .bnn-lead-title a:hover,
body.dark-mode .bnn-lead-title a:hover {
  color: #ffffff !important;
}

.dark-mode .portal-magazine-sections-wrap .bnn-lead-excerpt,
.dark-mode .bnn-lead-excerpt,
html.dark-mode .portal-magazine-sections-wrap .bnn-lead-excerpt,
html.dark-mode .bnn-lead-excerpt,
body.dark-mode .portal-magazine-sections-wrap .bnn-lead-excerpt,
body.dark-mode .bnn-lead-excerpt {
  color: #9ca3af !important;
}

.dark-mode .portal-magazine-sections-wrap .bnn-side-list-title,
.dark-mode .portal-magazine-sections-wrap .bnn-side-list-title a,
.dark-mode .bnn-side-list-title,
.dark-mode .bnn-side-list-title a,
html.dark-mode .portal-magazine-sections-wrap .bnn-side-list-title,
html.dark-mode .portal-magazine-sections-wrap .bnn-side-list-title a,
html.dark-mode .bnn-side-list-title,
html.dark-mode .bnn-side-list-title a,
body.dark-mode .portal-magazine-sections-wrap .bnn-side-list-title,
body.dark-mode .portal-magazine-sections-wrap .bnn-side-list-title a,
body.dark-mode .bnn-side-list-title,
body.dark-mode .bnn-side-list-title a {
  color: #f3f4f6 !important;
}

.dark-mode .portal-magazine-sections-wrap .bnn-side-list-title a:hover,
.dark-mode .bnn-side-list-title a:hover,
html.dark-mode .portal-magazine-sections-wrap .bnn-side-list-title a:hover,
html.dark-mode .bnn-side-list-title a:hover,
body.dark-mode .portal-magazine-sections-wrap .bnn-side-list-title a:hover,
body.dark-mode .bnn-side-list-title a:hover {
  color: #e50914 !important;
}

.dark-mode .portal-magazine-sections-wrap .bnn-side-list-item,
.dark-mode .bnn-side-list-item,
html.dark-mode .portal-magazine-sections-wrap .bnn-side-list-item,
html.dark-mode .bnn-side-list-item,
body.dark-mode .portal-magazine-sections-wrap .bnn-side-list-item,
body.dark-mode .bnn-side-list-item {
  border-bottom: 1px solid #1f2937 !important;
}

.dark-mode .portal-magazine-sections-wrap .bnn-lifestyle-title a,
.dark-mode .bnn-lifestyle-title a,
html.dark-mode .portal-magazine-sections-wrap .bnn-lifestyle-title a,
html.dark-mode .bnn-lifestyle-title a,
body.dark-mode .portal-magazine-sections-wrap .bnn-lifestyle-title a,
body.dark-mode .bnn-lifestyle-title a {
  color: #f3f4f6 !important;
}

.dark-mode .portal-magazine-sections-wrap .bnn-lifestyle-card.is-first-item .bnn-lifestyle-title a,
.dark-mode .bnn-lifestyle-card.is-first-item .bnn-lifestyle-title a,
html.dark-mode .portal-magazine-sections-wrap .bnn-lifestyle-card.is-first-item .bnn-lifestyle-title a,
html.dark-mode .bnn-lifestyle-card.is-first-item .bnn-lifestyle-title a,
body.dark-mode .portal-magazine-sections-wrap .bnn-lifestyle-card.is-first-item .bnn-lifestyle-title a,
body.dark-mode .bnn-lifestyle-card.is-first-item .bnn-lifestyle-title a {
  color: #ff4d4d !important;
}

.dark-mode .portal-magazine-sections-wrap .bnn-lifestyle-title a:hover,
.dark-mode .bnn-lifestyle-title a:hover,
html.dark-mode .portal-magazine-sections-wrap .bnn-lifestyle-title a:hover,
html.dark-mode .bnn-lifestyle-title a:hover,
body.dark-mode .portal-magazine-sections-wrap .bnn-lifestyle-title a:hover,
body.dark-mode .bnn-lifestyle-title a:hover {
  color: #ffffff !important;
}
.portal-magazine-sections-wrap .bnn-split-lead-list-grid {
  display: grid !important;
  grid-template-columns: 1.4fr 1fr !important;
  gap: 20px !important;
  align-items: start !important;
}
@media (max-width: 768px) {
  .portal-magazine-sections-wrap .bnn-split-lead-list-grid {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
}
.portal-magazine-sections-wrap .bnn-lead-thumb-wrap {
  width: 100% !important;
  height: 210px !important;
  max-height: 210px !important;
  aspect-ratio: auto !important;
  overflow: hidden !important;
  border-radius: 6px !important;
}
.portal-magazine-sections-wrap .bnn-lead-img {
  width: 100% !important;
  height: 210px !important;
  object-fit: cover !important;
  display: block !important;
}
.portal-magazine-sections-wrap .bnn-lead-title {
  font-size: 1.18rem !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  margin: 8px 0 4px !important;
}
.portal-magazine-sections-wrap .bnn-lead-title a {
  color: #111827 !important;
}
.portal-magazine-sections-wrap .bnn-lead-title a:hover {
  color: #1B8415 !important;
}
.portal-magazine-sections-wrap .bnn-side-list-thumb {
  width: 82px !important;
  height: 54px !important;
  object-fit: cover !important;
  border-radius: 4px !important;
}
.portal-magazine-sections-wrap .bnn-side-list-title {
  font-size: 0.90rem !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
}
.portal-magazine-sections-wrap .bnn-side-list-item {
  padding-block: 8px !important;
}
.portal-magazine-sections-wrap .bnn-lifestyle-thumb-wrap {
  width: 100% !important;
  height: 130px !important;
  max-height: 130px !important;
  aspect-ratio: auto !important;
  overflow: hidden !important;
  border-radius: 6px !important;
}
.portal-magazine-sections-wrap .bnn-lifestyle-img {
  width: 100% !important;
  height: 130px !important;
  object-fit: cover !important;
}
.portal-magazine-sections-wrap .bnn-lifestyle-grid {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  gap: 16px !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  padding: 4px 2px 8px 2px !important;
}

.portal-magazine-sections-wrap .bnn-lifestyle-grid::-webkit-scrollbar {
  display: none !important;
  height: 0 !important;
  width: 0 !important;
}

/* 7. Hide fallback hero-four-grid with complete certainty */
.hero-four-grid {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  overflow: hidden !important;
}

/* 8. Web Stories Sizing */
.web-story-card {
  width: 130px;
  height: 180px;
  flex-shrink: 0;
  border-radius: 8px;
  overflow: hidden;
  border: 2px solid #1B8415;
  box-shadow: 0 2px 6px rgba(0,0,0,0.1);
}

/* ============================================================================
   9. Comments & Reader Opinions Styles (Light & Dark Mode)
   ============================================================================ */
.article-comments-section {
  background-color: #ffffff;
  border-color: #e5e7eb;
}
.comment-form-wrap {
  background-color: #f8fafc;
  border-color: #e2e8f0;
}
.comment-item {
  background-color: #ffffff;
  border-color: #e5e7eb;
  transition: all 0.2s ease;
}
.comment-item:hover {
  border-color: #cbd5e1;
}
.bnn-auth-card {
  background-color: #ffffff;
  border-top: 4px solid #1B8415 !important;
}

/* Dark Mode for Comments & Auth Card */
.dark-mode .article-comments-section,
html.dark-mode .article-comments-section,
body.dark-mode .article-comments-section {
  background-color: #1e293b !important;
  border-color: #334155 !important;
  color: #f8fafc !important;
}
.dark-mode .comment-form-wrap,
html.dark-mode .comment-form-wrap,
body.dark-mode .comment-form-wrap {
  background-color: #0f172a !important;
  border-color: #334155 !important;
}
.dark-mode .comment-form-wrap textarea,
.dark-mode .comment-form-wrap input,
html.dark-mode .comment-form-wrap textarea,
html.dark-mode .comment-form-wrap input,
body.dark-mode .comment-form-wrap textarea,
body.dark-mode .comment-form-wrap input {
  background-color: #1e293b !important;
  border-color: #334155 !important;
  color: #f8fafc !important;
}
.dark-mode .comment-form-wrap textarea::placeholder,
.dark-mode .comment-form-wrap input::placeholder,
html.dark-mode .comment-form-wrap textarea::placeholder,
html.dark-mode .comment-form-wrap input::placeholder,
body.dark-mode .comment-form-wrap textarea::placeholder,
body.dark-mode .comment-form-wrap input::placeholder {
  color: #94a3b8 !important;
}
.dark-mode .comment-item,
html.dark-mode .comment-item,
body.dark-mode .comment-item {
  background-color: #1e293b !important;
  border-color: #334155 !important;
}
.dark-mode .comment-item:hover,
html.dark-mode .comment-item:hover,
body.dark-mode .comment-item:hover {
  border-color: #475569 !important;
}
.dark-mode .comment-body,
html.dark-mode .comment-body,
body.dark-mode .comment-body {
  color: #cbd5e1 !important;
}
.dark-mode .bnn-auth-card,
html.dark-mode .bnn-auth-card,
body.dark-mode .bnn-auth-card {
  background-color: #1e293b !important;
  border-color: #334155 !important;
  color: #f8fafc !important;
}
.dark-mode .bnn-auth-card input,
html.dark-mode .bnn-auth-card input,
body.dark-mode .bnn-auth-card input {
  background-color: #0f172a !important;
  border-color: #334155 !important;
  color: #f8fafc !important;
}
.dark-mode .dropdown-menu,
html.dark-mode .dropdown-menu,
body.dark-mode .dropdown-menu {
  background-color: #1e293b !important;
  border-color: #334155 !important;
  color: #f8fafc !important;
}
.dark-mode .dropdown-item,
html.dark-mode .dropdown-item,
body.dark-mode .dropdown-item {
  color: #cbd5e1 !important;
}
.dark-mode .dropdown-item:hover,
html.dark-mode .dropdown-item:hover,
body.dark-mode .dropdown-item:hover {
  background-color: #0f172a !important;
  color: #4ade80 !important;
}

/* ============================================================================
   14. PAGINATION & CATEGORY ARCHIVE STYLES (NO GIANT SVGS)
   ============================================================================ */
nav[role="navigation"] svg,
.pagination svg,
.pagination-wrapper svg {
  width: 14px !important;
  height: 14px !important;
  max-width: 14px !important;
  max-height: 14px !important;
  display: inline-block !important;
  vertical-align: middle !important;
}

.pagination-wrapper nav {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
}

.pagination {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.pagination .page-item .page-link {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 38px !important;
  height: 38px !important;
  padding: 0 12px !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 6px !important;
  background-color: #ffffff !important;
  color: #334155 !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
}

.pagination .page-item .page-link:hover {
  background-color: #f0fdf4 !important;
  border-color: #1B8415 !important;
  color: #1B8415 !important;
}

.pagination .page-item.active .page-link {
  background-color: #1B8415 !important;
  border-color: #1B8415 !important;
  color: #ffffff !important;
  box-shadow: 0 2px 8px rgba(27, 132, 21, 0.35) !important;
}

.pagination .page-item.disabled .page-link {
  background-color: #f8fafc !important;
  border-color: #e2e8f0 !important;
  color: #94a3b8 !important;
  cursor: not-allowed !important;
  pointer-events: none !important;
}

/* Category Page Dark Mode */
.dark-mode .category-header-banner,
html.dark-mode .category-header-banner,
body.dark-mode .category-header-banner,
.dark-mode .search-box-card,
html.dark-mode .search-box-card,
body.dark-mode .search-box-card,
.dark-mode .tag-header-card,
html.dark-mode .tag-header-card,
body.dark-mode .tag-header-card,
.dark-mode .author-profile-card,
html.dark-mode .author-profile-card,
body.dark-mode .author-profile-card {
  background-color: #1e293b !important;
  border-color: #334155 !important;
}

.dark-mode .category-page-title,
html.dark-mode .category-page-title,
body.dark-mode .category-page-title {
  color: #f8fafc !important;
}

.dark-mode .pagination .page-item .page-link,
html.dark-mode .pagination .page-item .page-link,
body.dark-mode .pagination .page-item .page-link {
  background-color: #1e293b !important;
  border-color: #334155 !important;
  color: #cbd5e1 !important;
}

.dark-mode .pagination .page-item.active .page-link,
html.dark-mode .pagination .page-item.active .page-link,
body.dark-mode .pagination .page-item.active .page-link {
  background-color: #1B8415 !important;
  border-color: #1B8415 !important;
  color: #ffffff !important;
}

.dark-mode .pagination .page-item.disabled .page-link,
html.dark-mode .pagination .page-item.disabled .page-link,
body.dark-mode .pagination .page-item.disabled .page-link {
  background-color: #0f172a !important;
  border-color: #1e293b !important;
  color: #64748b !important;
}

/* ============================================================================
   Homepage Section Spacing & Full-Width Blocks
   ============================================================================ */
.homepage-content-wrapper > .container > section,
.homepage-content-wrapper > .container > .three-col-magazine-block,
.homepage-content-wrapper > .container > .highlight-news-block,
.homepage-content-wrapper > .container > .missed-news-block,
.homepage-content-wrapper > .container > .three-column-magazine-section {
  margin-bottom: 2.75rem !important;
}

@media (max-width: 767.98px) {
  .homepage-content-wrapper > .container > section,
  .homepage-content-wrapper > .container > .three-col-magazine-block,
  .homepage-content-wrapper > .container > .highlight-news-block,
  .homepage-content-wrapper > .container > .missed-news-block,
  .homepage-content-wrapper > .container > .three-column-magazine-section {
    margin-bottom: 2rem !important;
  }
}

/* Full-width Magazine Block (সোশ্যাল মিডিয়া, আইন আদালত, সম্পাদকীয়) */
.three-col-magazine-block .bnn-triple-mag-card {
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.three-col-magazine-block .bnn-triple-mag-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.08) !important;
}

/* Dark mode for triple magazine card */
.dark-mode .three-col-magazine-block .bnn-triple-mag-card,
html.dark-mode .three-col-magazine-block .bnn-triple-mag-card,
body.dark-mode .three-col-magazine-block .bnn-triple-mag-card {
  background-color: #111827 !important;
  border-color: #1f2937 !important;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.45) !important;
}
.dark-mode .three-col-magazine-block .bnn-triple-mag-card .news-title-3,
html.dark-mode .three-col-magazine-block .bnn-triple-mag-card .news-title-3,
body.dark-mode .three-col-magazine-block .bnn-triple-mag-card .news-title-3,
.dark-mode .three-col-magazine-block .bnn-triple-mag-card a,
html.dark-mode .three-col-magazine-block .bnn-triple-mag-card a,
body.dark-mode .three-col-magazine-block .bnn-triple-mag-card a {
  color: #f9fafb !important;
}
.dark-mode .three-col-magazine-block .bnn-triple-mag-card a:hover,
html.dark-mode .three-col-magazine-block .bnn-triple-mag-card a:hover,
body.dark-mode .three-col-magazine-block .bnn-triple-mag-card a:hover {
  color: #4ade80 !important;
}
.dark-mode .three-col-magazine-block .bnn-triple-mag-card .border-top,
html.dark-mode .three-col-magazine-block .bnn-triple-mag-card .border-top,
body.dark-mode .three-col-magazine-block .bnn-triple-mag-card .border-top,
.dark-mode .three-col-magazine-block .bnn-triple-mag-card .border-bottom,
html.dark-mode .three-col-magazine-block .bnn-triple-mag-card .border-bottom,
body.dark-mode .three-col-magazine-block .bnn-triple-mag-card .border-bottom {
  border-color: #374151 !important;
}

/* ========================================================
   BNN BANGLA BRAND LOGOS (Header & Footer)
   ======================================================== */
.bnn-header-logo-link {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
  vertical-align: middle !important;
}

.bnn-header-logo-img {
  height: 48px !important;
  width: auto !important;
  max-width: 100% !important;
  object-fit: contain !important;
  display: inline-block !important;
  transition: transform 0.2s ease, filter 0.2s ease !important;
}

.bnn-header-logo-img:hover {
  transform: scale(1.02);
}

.bnn-header-logo-mobile-img {
  height: 34px !important;
  width: auto !important;
  max-width: 100% !important;
  object-fit: contain !important;
  display: inline-block !important;
}

.bnn-drawer-logo-img {
  height: 28px !important;
  width: auto !important;
  max-width: 145px !important;
  object-fit: contain !important;
  display: inline-block !important;
}

.bnn-footer-logo-link {
  display: inline-block !important;
  line-height: 1 !important;
  vertical-align: middle !important;
}

.bnn-footer-logo-img {
  height: 82px !important;
  width: auto !important;
  max-width: 215px !important;
  object-fit: contain !important;
  display: inline-block !important;
  filter: drop-shadow(0 0 1px rgba(255, 255, 255, 0.45)) drop-shadow(0 3px 8px rgba(0, 0, 0, 0.6)) !important;
  transition: transform 0.2s ease, filter 0.2s ease !important;
}

.bnn-footer-logo-img:hover {
  transform: scale(1.03) !important;
  filter: drop-shadow(0 0 2px rgba(255, 255, 255, 0.65)) drop-shadow(0 4px 10px rgba(0, 0, 0, 0.75)) !important;
}

/* Dark Mode enhancements for header logos */
html.dark-mode .bnn-header-logo-img,
body.dark-mode .bnn-header-logo-img,
html.dark-mode .bnn-header-logo-mobile-img,
body.dark-mode .bnn-header-logo-mobile-img,
html.dark-mode .bnn-drawer-logo-img,
body.dark-mode .bnn-drawer-logo-img {
  filter: drop-shadow(0 0 1px rgba(255, 255, 255, 0.45)) !important;
}

@media (max-width: 575.98px) {
  .bnn-header-logo-mobile-img {
    height: 32px !important;
    max-width: 155px !important;
  }
  .bnn-footer-logo-img {
    height: 70px !important;
    max-width: 185px !important;
    margin: 0 auto !important;
  }
}

/* Header Date styling (Clean unbold modern weight) */
.header_date_location,
.header_date_location *,
#bangla-date {
  font-family: 'Noto Sans Bengali', 'Hind Siliguri', -apple-system, sans-serif !important;
  font-weight: 500 !important;
  color: #475569 !important;
}

html.dark-mode .header_date_location,
html.dark-mode .header_date_location *,
html.dark-mode #bangla-date,
body.dark-mode .header_date_location,
body.dark-mode .header_date_location *,
body.dark-mode #bangla-date {
  color: #cbd5e1 !important;
}

/* Clean Modern Bengali Font for Header Menu & Texts */
.bnn-main-header,
.mobile_header_three,
.header_date_location,
.header_date_location *,
#bangla-date {
  font-family: 'Noto Sans Bengali', 'Hind Siliguri', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

.tt_navbar,
#pcNavbar {
  position: -webkit-sticky !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 1045 !important;
  background-color: #ffffff !important;
  min-height: 52px !important;
  display: flex !important;
  align-items: center !important;
  border-bottom: 1px solid #e5e7eb !important;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04) !important;
  transition: box-shadow 0.2s ease, border-color 0.2s ease;
}

#pcNavbar.bnn-navbar-scrolled {
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.08) !important;
  border-bottom-color: #e2e8f0 !important;
}

.tt_nav-menu .bnn-nav-link,
.bnn-nav-list .bnn-nav-link,
.tt_navbar .bnn-nav-link,
#pcNavbar .bnn-nav-link,
.bnn-dropdown-menu .bnn-nav-link {
  font-family: 'Noto Sans Bengali', 'Hind Siliguri', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
  font-weight: 700 !important;
  font-size: 15px !important;
  letter-spacing: 0.12px !important;
  padding: 13.5px 11px !important;
  line-height: 1.4 !important;
  display: inline-flex !important;
  align-items: center !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Dark mode for navbar */
html.dark-mode #pcNavbar,
body.dark-mode #pcNavbar,
html.dark-mode .tt_navbar,
body.dark-mode .tt_navbar {
  background-color: #1e293b !important;
  border-bottom-color: #334155 !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3) !important;
}

html.dark-mode #pcNavbar.bnn-navbar-scrolled,
body.dark-mode #pcNavbar.bnn-navbar-scrolled {
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.5) !important;
}

/* Mobile Sticky Header */
.mobile_header_three {
  position: sticky !important;
  top: 0 !important;
  z-index: 1045 !important;
  background-color: #ffffff !important;
}
html.dark-mode .mobile_header_three,
body.dark-mode .mobile_header_three {
  background-color: #1e293b !important;
}

.mobile-navmenu a,
.mobile-navmenu li a,
.bnn-drawer-link,
.bnn-drawer-sublink {
  font-family: 'Noto Sans Bengali', 'Hind Siliguri', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
  font-weight: 700 !important;
  font-size: 14.5px !important;
  letter-spacing: 0.12px !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.bnn-header-top-links .bnn-header-action-link {
  font-family: 'Noto Sans Bengali', 'Hind Siliguri', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
  font-weight: 500 !important;
  font-size: 13.5px !important;
  color: #4b5563 !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.bnn-header-top-links .bnn-header-action-link:hover {
  color: var(--bnn-primary, #1B8415) !important;
}

/* ============================================================
   SUB-LEAD EDITORIAL 4-GRID (Prothom Alo / Modern Editorial Style)
   ============================================================ */
.sub-lead-editorial-row {
  margin-left: 0;
  margin-right: 0;
  border-top: 1px solid #e5e7eb;
  border-bottom: 1px solid #e5e7eb;
  padding-top: 16px;
  padding-bottom: 16px;
  background: transparent;
}

.sub-lead-editorial-col {
  padding-left: 14px;
  padding-right: 14px;
  border-right: 1px solid #e5e7eb;
}

@media (min-width: 992px) {
  .sub-lead-editorial-col:last-child {
    border-right: none !important;
  }
}

@media (min-width: 576px) and (max-width: 991.98px) {
  .sub-lead-editorial-col:nth-child(2n) {
    border-right: none !important;
  }
  .sub-lead-editorial-col:nth-child(-n+2) {
    margin-bottom: 16px;
    padding-bottom: 16px;
    border-bottom: 1px solid #e5e7eb;
  }
}

@media (max-width: 575.98px) {
  .sub-lead-editorial-col {
    border-right: none !important;
    margin-bottom: 16px;
    padding-bottom: 16px;
    border-bottom: 1px solid #f1f5f9;
  }
  .sub-lead-editorial-col:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none;
  }
}

.sub-lead-editorial-item {
  display: flex;
  flex-direction: column;
  height: 100%;
  background: transparent;
}

.sub-lead-editorial-thumb {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  border-radius: 2px;
  background-color: #f3f4f6;
  margin-bottom: 10px;
}

.sub-lead-editorial-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: opacity 0.2s ease, transform 0.25s ease;
}

.sub-lead-editorial-item:hover .sub-lead-editorial-img {
  opacity: 0.94;
  transform: scale(1.02);
}

.sub-lead-play-badge {
  position: absolute;
  top: 8px;
  left: 8px;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background-color: #dc2626;
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.35);
  font-size: 11px;
  padding-left: 2px;
  z-index: 2;
  pointer-events: none;
}

.sub-lead-editorial-title {
  font-family: 'Noto Serif Bengali', 'Kalpurush', 'SolaimanLipi', Georgia, serif !important;
  font-size: 16.5px !important;
  font-weight: 700 !important;
  line-height: 1.38 !important;
  color: #111827 !important;
  margin: 0 0 8px 0;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  letter-spacing: -0.15px;
}

.sub-lead-editorial-title a {
  color: inherit;
  text-decoration: none;
  transition: color 0.15s ease;
}

.sub-lead-editorial-title a:hover,
.sub-lead-editorial-item:hover .sub-lead-editorial-title a {
  color: var(--bnn-primary, #1B8415) !important;
}

.sub-lead-editorial-time {
  font-family: 'Kalpurush', 'Hind Siliguri', -apple-system, sans-serif;
  font-size: 13px;
  font-weight: 400;
  color: #71717a;
  margin-top: auto;
}

/* Dark Mode Support for Sub-Lead Editorial 4-Grid */
html.dark-mode .sub-lead-editorial-row,
body.dark-mode .sub-lead-editorial-row {
  border-color: #334155 !important;
}

html.dark-mode .sub-lead-editorial-col,
body.dark-mode .sub-lead-editorial-col {
  border-color: #334155 !important;
}

html.dark-mode .sub-lead-editorial-thumb,
body.dark-mode .sub-lead-editorial-thumb {
  background-color: #1e293b;
}

html.dark-mode .sub-lead-editorial-title,
body.dark-mode .sub-lead-editorial-title,
html.dark-mode .sub-lead-editorial-title a,
body.dark-mode .sub-lead-editorial-title a {
  color: #f1f5f9 !important;
}

html.dark-mode .sub-lead-editorial-title a:hover,
body.dark-mode .sub-lead-editorial-title a:hover,
html.dark-mode .sub-lead-editorial-item:hover .sub-lead-editorial-title a,
body.dark-mode .sub-lead-editorial-item:hover .sub-lead-editorial-title a {
  color: #4ade80 !important;
}

html.dark-mode .sub-lead-editorial-time,
body.dark-mode .sub-lead-editorial-time {
  color: #94a3b8 !important;
}




