/* =========================================================
   THE NEWS VOLT — Custom Stylesheet
   Fonts: Poppins (UI/Nav), Merriweather (Headlines), Inter (Body)
   ========================================================= */

:root{
  --tnv-primary:#E10600;
  --tnv-primary-dark:#B00500;
  --tnv-black:#111111;
  --tnv-white:#FFFFFF;
  --tnv-grey:#F5F5F5;
  --tnv-text:#444444;
  --tnv-accent:#FFD000;
  --tnv-border:#E9E9E9;

  --font-head:'Merriweather', Georgia, serif;
  --font-ui:'Poppins', sans-serif;
  --font-body:'Inter', sans-serif;

  --radius-sm:8px;
  --radius-md:14px;
  --radius-lg:22px;

  --shadow-sm:0 2px 10px rgba(17,17,17,.06);
  --shadow-md:0 10px 30px rgba(17,17,17,.08);
  --shadow-lg:0 20px 45px rgba(17,17,17,.12);

  --tr-fast:.2s ease;
  --tr-med:.35s cubic-bezier(.4,0,.2,1);
}

/* Dark mode tokens */
body.dark-mode{
  --tnv-white:#111315;
  --tnv-grey:#1B1D20;
  --tnv-text:#C9CBCE;
  --tnv-black:#F5F5F5;
  --tnv-border:#2A2C30;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  font-family:var(--font-body);
  color:var(--tnv-text);
  background:var(--tnv-white);
  -webkit-font-smoothing:antialiased;
  transition:background var(--tr-med), color var(--tr-med);
}
h1,h2,h3,h4,.font-head{font-family:var(--font-head); color:var(--tnv-black); font-weight:700;}
.font-ui{font-family:var(--font-ui);}
a{text-decoration:none; color:inherit;}
img{max-width:100%; height:auto; display:block;}
::selection{background:var(--tnv-accent); color:var(--tnv-black);}

:focus-visible{outline:3px solid var(--tnv-accent); outline-offset:2px;}

.container-xl{max-width:1320px; margin:0 auto; padding:0 20px;}

/* =========================================================
   PAGE LOADER
   ========================================================= */
#tnv-loader{
  position:fixed; inset:0; z-index:9999; background:var(--tnv-white);
  display:flex; align-items:center; justify-content:center;
  transition:opacity .5s ease, visibility .5s ease;
}
#tnv-loader.loaded{opacity:0; visibility:hidden;}
.loader-mark{
  width:52px; height:52px; border-radius:50%;
  border:4px solid var(--tnv-grey); border-top-color:var(--tnv-primary);
  animation:tnv-spin 1s linear infinite;
}
@keyframes tnv-spin{to{transform:rotate(360deg);}}

/* =========================================================
   TOP BAR
   ========================================================= */
.tnv-topbar{
  background:var(--tnv-black); color:#cfcfcf; font-family:var(--font-ui);
  font-size:.78rem; padding:6px 0; border-bottom:1px solid rgba(255,255,255,.08);
}
.tnv-topbar a{color:#cfcfcf; transition:color var(--tr-fast);}
.tnv-topbar a:hover{color:var(--tnv-accent);}
.tnv-topbar .divider{width:1px; height:14px; background:rgba(255,255,255,.2); display:inline-block; margin:0 10px;}
.tnv-social a{
  width:26px; height:26px; border-radius:50%; background:rgba(255,255,255,.08);
  display:inline-flex; align-items:center; justify-content:center; margin-left:6px;
  font-size:.72rem; transition:all var(--tr-fast);
}
.tnv-social a:hover{background:var(--tnv-primary); color:#fff;}
.tnv-lang-switch select{
  background:transparent; color:#cfcfcf; border:1px solid rgba(255,255,255,.2);
  border-radius:20px; font-size:.75rem; padding:2px 10px;
}
.dark-toggle-btn{
  background:rgba(255,255,255,.08); border:none; color:#cfcfcf; width:26px; height:26px;
  border-radius:50%; display:inline-flex; align-items:center; justify-content:center;
  transition:all var(--tr-fast);
}
.dark-toggle-btn:hover{background:var(--tnv-accent); color:var(--tnv-black);}

/* =========================================================
   MAIN HEADER
   ========================================================= */
.tnv-header-main{padding:18px 0; background:var(--tnv-white); border-bottom:1px solid var(--tnv-border);}
.tnv-logo{font-family:var(--font-head); font-weight:900; font-size:2.1rem; letter-spacing:-.5px; color:var(--tnv-black);}
.tnv-logo span{color:var(--tnv-primary);}
.tnv-logo small{
  display:block; font-family:var(--font-ui); font-size:.6rem; letter-spacing:3px;
  font-weight:600; color:var(--tnv-text); margin-top:-4px;
}
.tnv-ad-banner{
  background:var(--tnv-grey); border:1px dashed #cfcfcf; border-radius:var(--radius-sm);
  text-align:center; padding:14px; font-family:var(--font-ui); font-size:.75rem;
  color:#999; max-width:728px; margin:0 auto;
}
.tnv-search-toggle{
  width:42px; height:42px; border-radius:50%; border:1px solid var(--tnv-border);
  background:var(--tnv-white); display:inline-flex; align-items:center; justify-content:center;
  transition:all var(--tr-fast);
}
.tnv-search-toggle:hover{background:var(--tnv-primary); color:#fff; border-color:var(--tnv-primary);}

/* Search overlay */
.tnv-search-overlay{
  position:fixed; inset:0; background:rgba(17,17,17,.96); z-index:2000;
  display:flex; align-items:center; justify-content:center;
  opacity:0; visibility:hidden; transition:all var(--tr-med);
}
.tnv-search-overlay.active{opacity:1; visibility:visible;}
.tnv-search-overlay input{
  width:min(700px,90vw); background:transparent; border:none; border-bottom:2px solid var(--tnv-primary);
  color:#fff; font-family:var(--font-head); font-size:2rem; padding:10px 0; text-align:center;
}
.tnv-search-overlay input:focus{outline:none;}
.tnv-search-close{
  position:absolute; top:30px; right:30px; color:#fff; font-size:1.6rem; background:none; border:none;
}
.tnv-search-suggestions{width:min(700px,90vw); margin:20px auto 0; color:#999; font-family:var(--font-ui); font-size:.85rem;}

/* =========================================================
   STICKY NAV / MEGA MENU
   ========================================================= */
.tnv-navbar{
  background:var(--tnv-black); font-family:var(--font-ui); position:sticky; top:0; z-index:1000;
  box-shadow:var(--shadow-sm);
}
.tnv-navbar.scrolled{box-shadow:var(--shadow-md);}
.tnv-nav .nav-link{
  color:#eee !important; font-size:.86rem; font-weight:500; padding:16px 14px !important;
  position:relative; transition:color var(--tr-fast);
}
.tnv-nav .nav-link:hover, .tnv-nav .nav-link.active{color:var(--tnv-accent) !important;}
.tnv-nav .nav-item.dropdown:hover .dropdown-menu{display:block; opacity:1; transform:translateY(0); visibility:visible;}
.tnv-nav .dropdown-menu{
  border:none; border-radius:var(--radius-sm); box-shadow:var(--shadow-lg); padding:10px;
  opacity:0; visibility:hidden; transform:translateY(10px); transition:all var(--tr-fast); display:block;
  margin-top:0;
}
.tnv-nav .dropdown-item{border-radius:6px; padding:8px 12px; font-size:.85rem; color:var(--tnv-text);}
.tnv-nav .dropdown-item:hover{background:var(--tnv-grey); color:var(--tnv-primary);}

/* Mega menu */
.tnv-mega{
  position:static;
}
.tnv-mega .dropdown-menu{
  width:100%; left:0; right:0; padding:26px; border-radius:0 0 var(--radius-md) var(--radius-md);
}
.tnv-mega-col h6{
  font-family:var(--font-ui); font-size:.72rem; letter-spacing:1px; text-transform:uppercase;
  color:var(--tnv-primary); font-weight:700; margin-bottom:10px;
}
.tnv-mega-col a{display:block; padding:5px 0; font-size:.85rem; color:var(--tnv-text);}
.tnv-mega-col a:hover{color:var(--tnv-primary); padding-left:4px;}
.tnv-mega-feature img{border-radius:var(--radius-sm); margin-bottom:10px;}
.tnv-mega-feature h6{font-family:var(--font-head); font-size:1rem; color:var(--tnv-black); line-height:1.35;}

/* =========================================================
   BREAKING NEWS TICKER
   ========================================================= */
.tnv-breaking{
  background:var(--tnv-primary); color:#fff; font-family:var(--font-ui);
  padding:9px 0; overflow:hidden;
}
.tnv-breaking-label{
  background:var(--tnv-black); font-weight:700; font-size:.75rem; letter-spacing:1px;
  padding:4px 14px; border-radius:20px; white-space:nowrap; display:inline-flex; align-items:center; gap:6px;
}
.tnv-pulse{width:8px; height:8px; border-radius:50%; background:var(--tnv-accent); animation:tnv-pulse 1.4s infinite;}
@keyframes tnv-pulse{
  0%{box-shadow:0 0 0 0 rgba(255,208,0,.6);}
  70%{box-shadow:0 0 0 8px rgba(255,208,0,0);}
  100%{box-shadow:0 0 0 0 rgba(255,208,0,0);}
}
.tnv-ticker-track{display:flex; white-space:nowrap; animation:tnv-scroll 32s linear infinite;}
.tnv-ticker-track:hover{animation-play-state:paused;}
.tnv-ticker-track span{font-size:.85rem; margin-right:50px;}
.tnv-ticker-track span::before{content:"●"; color:var(--tnv-accent); font-size:.5rem; vertical-align:middle; margin-right:10px;}
@keyframes tnv-scroll{
  0%{transform:translateX(0);}
  100%{transform:translateX(-100%);}
}

/* =========================================================
   SECTION HEADINGS
   ========================================================= */
.tnv-section{padding:52px 0;}
.tnv-section-alt{background:var(--tnv-grey);}
.tnv-section-head{
  display:flex; align-items:center; justify-content:space-between; margin-bottom:26px;
  padding-bottom:14px; border-bottom:2px solid var(--tnv-border);
}
.tnv-section-head h2{
  font-size:1.6rem; margin:0; position:relative; padding-left:16px;
}
.tnv-section-head h2::before{
  content:''; position:absolute; left:0; top:4px; bottom:4px; width:5px;
  background:var(--tnv-primary); border-radius:3px;
}
.tnv-section-head .tnv-viewall{
  font-family:var(--font-ui); font-size:.8rem; font-weight:600; color:var(--tnv-primary);
  display:inline-flex; align-items:center; gap:6px;
}
.tnv-section-head .tnv-viewall:hover{gap:10px; transition:gap var(--tr-fast);}

/* =========================================================
   CATEGORY BADGE
   ========================================================= */
.tnv-badge{
  font-family:var(--font-ui); font-size:.68rem; font-weight:700; letter-spacing:.5px;
  text-transform:uppercase; color:#fff; padding:5px 12px; border-radius:5px 5px 5px 0;
  display:inline-block;
}

/* =========================================================
   NEWS CARDS
   ========================================================= */
.tnv-card{
  background:var(--tnv-white); border-radius:var(--radius-md); overflow:hidden;
  box-shadow:var(--shadow-sm); transition:transform var(--tr-med), box-shadow var(--tr-med);
  height:100%; border:1px solid var(--tnv-border);
}
.tnv-card:hover{transform:translateY(-6px); box-shadow:var(--shadow-lg);}
.tnv-card-img{position:relative; overflow:hidden; aspect-ratio:3/2;}
.tnv-card-img img{width:100%; height:100%; object-fit:cover; transition:transform .6s ease;}
.tnv-card:hover .tnv-card-img img{transform:scale(1.08);}
.tnv-card-img .tnv-badge{position:absolute; top:12px; left:12px;}
.tnv-card-body{padding:18px;}
.tnv-card-body h3{
  font-size:1.05rem; line-height:1.4; margin-bottom:10px; transition:color var(--tr-fast);
}
.tnv-card:hover .tnv-card-body h3{color:var(--tnv-primary);}
.tnv-card-body p{font-size:.87rem; color:var(--tnv-text); margin-bottom:14px;}
.tnv-meta{
  display:flex; align-items:center; gap:12px; font-family:var(--font-ui); font-size:.72rem;
  color:#999; flex-wrap:wrap; border-top:1px solid var(--tnv-border); padding-top:12px;
}
.tnv-meta img{width:24px; height:24px; border-radius:50%; object-fit:cover;}
.tnv-meta span{display:inline-flex; align-items:center; gap:4px;}

/* Horizontal card (sidebar / list) */
.tnv-card-h{display:flex; gap:14px; padding:12px 0; border-bottom:1px solid var(--tnv-border);}
.tnv-card-h:last-child{border-bottom:none;}
.tnv-card-h img{width:88px; height:70px; object-fit:cover; border-radius:var(--radius-sm); flex-shrink:0;}
.tnv-card-h h4{font-size:.88rem; line-height:1.4; margin-bottom:6px; font-family:var(--font-head); color:var(--tnv-black);}
.tnv-card-h:hover h4{color:var(--tnv-primary);}
.tnv-card-h .tnv-meta{border:none; padding:0; font-size:.7rem;}
.tnv-rank{
  font-family:var(--font-head); font-size:1.6rem; font-weight:900; color:var(--tnv-border);
  width:30px; flex-shrink:0; line-height:1;
}

/* Featured story */
.tnv-featured{
  position:relative; border-radius:var(--radius-lg); overflow:hidden; min-height:460px;
  display:flex; align-items:flex-end; box-shadow:var(--shadow-md);
}
.tnv-featured img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:0;}
.tnv-featured::after{
  content:''; position:absolute; inset:0; z-index:1;
  background:linear-gradient(0deg, rgba(0,0,0,.88) 0%, rgba(0,0,0,.35) 55%, rgba(0,0,0,0) 100%);
}
.tnv-featured-body{position:relative; z-index:2; padding:34px; color:#fff;}
.tnv-featured-body h2{color:#fff; font-size:1.9rem; line-height:1.3; margin:12px 0;}
.tnv-featured-body p{color:#ddd; max-width:600px;}
.tnv-featured-body .tnv-meta{border:none; padding:0; color:#ccc;}

/* =========================================================
   HERO SLIDER
   ========================================================= */
.tnv-hero{border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-md); position:relative;}
.tnv-hero .swiper-slide{position:relative; aspect-ratio:16/9; min-height:420px;}
.tnv-hero .swiper-slide img{width:100%; height:100%; object-fit:cover;}
.tnv-hero .swiper-slide::after{
  content:''; position:absolute; inset:0;
  background:linear-gradient(0deg, rgba(0,0,0,.85) 0%, rgba(0,0,0,.2) 60%, rgba(0,0,0,0) 100%);
}
.tnv-hero-caption{position:absolute; left:0; right:0; bottom:0; z-index:2; padding:32px; color:#fff;}
.tnv-hero-caption h2{color:#fff; font-size:1.7rem; line-height:1.32; margin:12px 0 10px;}
.tnv-hero-caption .tnv-meta{border:none; padding:0; color:#ddd;}
.tnv-hero .swiper-pagination-bullet{background:#fff; opacity:.5;}
.tnv-hero .swiper-pagination-bullet-active{opacity:1; background:var(--tnv-primary);}
.tnv-hero .swiper-button-next, .tnv-hero .swiper-button-prev{
  color:#fff; background:rgba(0,0,0,.35); width:42px; height:42px; border-radius:50%; backdrop-filter:blur(4px);
}
.tnv-hero .swiper-button-next::after, .tnv-hero .swiper-button-prev::after{font-size:1rem;}

/* Trending sidebar next to hero */
.tnv-trending-box{
  background:var(--tnv-black); border-radius:var(--radius-lg); padding:22px; height:100%; color:#fff;
}
.tnv-trending-box h5{
  font-family:var(--font-ui); font-size:.78rem; letter-spacing:1.5px; text-transform:uppercase;
  color:var(--tnv-accent); font-weight:700; margin-bottom:16px; display:flex; align-items:center; gap:8px;
}
.tnv-trending-item{display:flex; gap:12px; padding:12px 0; border-bottom:1px solid rgba(255,255,255,.1);}
.tnv-trending-item:last-child{border-bottom:none; padding-bottom:0;}
.tnv-trending-item .tnv-rank{color:rgba(255,255,255,.25);}
.tnv-trending-item h4{font-size:.85rem; color:#fff; font-family:var(--font-head); line-height:1.4;}
.tnv-trending-item:hover h4{color:var(--tnv-accent);}
.tnv-trending-item .tnv-meta{color:#999; border:none; padding:0;}

/* =========================================================
   GLASS CARDS (newsletter / stats)
   ========================================================= */
.tnv-glass{
  background:rgba(255,255,255,.06); backdrop-filter:blur(10px); border:1px solid rgba(255,255,255,.12);
  border-radius:var(--radius-lg);
}

/* =========================================================
   NEWSLETTER
   ========================================================= */
.tnv-newsletter{
  background:linear-gradient(120deg, var(--tnv-black) 0%, #2a2a2a 100%);
  border-radius:var(--radius-lg); padding:44px; color:#fff; position:relative; overflow:hidden;
}
.tnv-newsletter::before{
  content:''; position:absolute; width:280px; height:280px; background:var(--tnv-primary);
  border-radius:50%; filter:blur(90px); opacity:.35; top:-100px; right:-60px;
}
.tnv-newsletter h3{color:#fff; font-size:1.6rem; position:relative; z-index:1;}
.tnv-newsletter p{color:#ccc; position:relative; z-index:1;}
.tnv-newsletter .form-control{
  border-radius:30px 0 0 30px; border:none; padding:12px 20px; background:#fff;
}
.tnv-newsletter .btn-subscribe{
  border-radius:0 30px 30px 0; background:var(--tnv-primary); color:#fff; border:none;
  padding:12px 26px; font-family:var(--font-ui); font-weight:600; font-size:.85rem;
  transition:background var(--tr-fast);
}
.tnv-newsletter .btn-subscribe:hover{background:var(--tnv-primary-dark);}

/* =========================================================
   BUTTONS
   ========================================================= */
.btn-tnv{
  font-family:var(--font-ui); font-weight:600; font-size:.85rem; border-radius:30px;
  padding:10px 24px; border:2px solid var(--tnv-primary); color:var(--tnv-primary);
  background:transparent; transition:all var(--tr-fast); display:inline-block;
}
.btn-tnv:hover{background:var(--tnv-primary); color:#fff;}
.btn-tnv-solid{background:var(--tnv-primary); color:#fff; border:2px solid var(--tnv-primary);}
.btn-tnv-solid:hover{background:var(--tnv-primary-dark); border-color:var(--tnv-primary-dark); color:#fff;}

/* =========================================================
   VIDEO SECTION
   ========================================================= */
.tnv-video-card{position:relative; border-radius:var(--radius-md); overflow:hidden; box-shadow:var(--shadow-sm); cursor:pointer;}
.tnv-video-card img{aspect-ratio:16/9; object-fit:cover; transition:transform .5s;}
.tnv-video-card:hover img{transform:scale(1.06);}
.tnv-play-btn{
  position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
}
.tnv-play-btn span{
  width:54px; height:54px; border-radius:50%; background:rgba(225,6,0,.9); color:#fff;
  display:flex; align-items:center; justify-content:center; font-size:1.1rem;
  box-shadow:0 0 0 8px rgba(255,255,255,.15); transition:all var(--tr-fast);
}
.tnv-video-card:hover .tnv-play-btn span{background:var(--tnv-primary); transform:scale(1.1);}
.tnv-video-duration{
  position:absolute; bottom:10px; right:10px; background:rgba(0,0,0,.75); color:#fff;
  font-size:.7rem; padding:2px 8px; border-radius:4px; font-family:var(--font-ui);
}
.tnv-video-title{font-family:var(--font-head); font-size:.92rem; margin-top:10px; line-height:1.4; color:var(--tnv-black);}

/* =========================================================
   PHOTO GALLERY
   ========================================================= */
.tnv-gallery-item{
  position:relative; border-radius:var(--radius-sm); overflow:hidden; aspect-ratio:1/1; cursor:zoom-in;
}
.tnv-gallery-item img{width:100%; height:100%; object-fit:cover; transition:transform .5s;}
.tnv-gallery-item:hover img{transform:scale(1.1);}
.tnv-gallery-caption{
  position:absolute; inset:0; background:linear-gradient(0deg, rgba(0,0,0,.75), transparent 60%);
  display:flex; align-items:flex-end; padding:14px; opacity:0; transition:opacity var(--tr-fast);
}
.tnv-gallery-item:hover .tnv-gallery-caption{opacity:1;}
.tnv-gallery-caption p{color:#fff; font-size:.78rem; margin:0; font-family:var(--font-ui);}

/* Lightbox */
.tnv-lightbox{
  position:fixed; inset:0; background:rgba(0,0,0,.92); z-index:3000; display:flex; align-items:center; justify-content:center;
  opacity:0; visibility:hidden; transition:all var(--tr-med);
}
.tnv-lightbox.active{opacity:1; visibility:visible;}
.tnv-lightbox img{max-width:88vw; max-height:82vh; border-radius:var(--radius-sm);}
.tnv-lightbox-close{position:absolute; top:26px; right:30px; color:#fff; font-size:1.8rem; background:none; border:none;}
.tnv-lightbox-caption{color:#ccc; text-align:center; margin-top:14px; font-family:var(--font-ui); font-size:.85rem;}

/* =========================================================
   WEB STORIES
   ========================================================= */
.tnv-story-card{
  position:relative; border-radius:var(--radius-md); overflow:hidden; aspect-ratio:9/16; box-shadow:var(--shadow-sm);
  border:3px solid var(--tnv-white); outline:2px solid var(--tnv-primary);
}
.tnv-story-card img{width:100%; height:100%; object-fit:cover;}
.tnv-story-card::after{content:''; position:absolute; inset:0; background:linear-gradient(0deg, rgba(0,0,0,.8), transparent 55%);}
.tnv-story-body{position:absolute; left:0; right:0; bottom:0; z-index:2; padding:14px; color:#fff;}
.tnv-story-body h6{color:#fff; font-size:.82rem; line-height:1.35; font-family:var(--font-head);}
.tnv-story-badge{
  font-family:var(--font-ui); font-size:.62rem; background:rgba(255,255,255,.2); padding:2px 8px;
  border-radius:20px; display:inline-block; margin-bottom:6px;
}

/* =========================================================
   OPINION / EDITORIAL
   ========================================================= */
.tnv-opinion-card{display:flex; gap:16px; align-items:flex-start; padding:18px 0; border-bottom:1px solid var(--tnv-border);}
.tnv-opinion-card:last-child{border-bottom:none;}
.tnv-opinion-card img{width:66px; height:66px; border-radius:50%; object-fit:cover; flex-shrink:0; border:3px solid var(--tnv-grey);}
.tnv-opinion-card h4{font-size:1rem; margin-bottom:4px;}
.tnv-opinion-card .role{font-family:var(--font-ui); font-size:.72rem; color:var(--tnv-primary); font-weight:600; text-transform:uppercase; letter-spacing:.5px;}

/* Fact check ribbon */
.tnv-factcheck{
  border-left:4px solid var(--tnv-accent); background:#FFFBEA; border-radius:0 var(--radius-sm) var(--radius-sm) 0;
  padding:16px 18px;
}
body.dark-mode .tnv-factcheck{background:rgba(255,208,0,.08);}
.tnv-factcheck .tag{
  font-family:var(--font-ui); font-size:.65rem; font-weight:700; letter-spacing:1px; color:#8a6d00;
  text-transform:uppercase;
}

/* =========================================================
   SIDEBAR
   ========================================================= */
.tnv-widget{
  background:var(--tnv-white); border:1px solid var(--tnv-border); border-radius:var(--radius-md);
  padding:22px; margin-bottom:26px; box-shadow:var(--shadow-sm);
}
.tnv-widget h5{
  font-family:var(--font-ui); font-size:.85rem; text-transform:uppercase; letter-spacing:1px;
  font-weight:700; margin-bottom:16px; padding-bottom:12px; border-bottom:2px solid var(--tnv-grey);
  display:flex; align-items:center; gap:8px; color:var(--tnv-black);
}
.tnv-widget h5 i{color:var(--tnv-primary);}
.tnv-tags{display:flex; flex-wrap:wrap; gap:8px;}
.tnv-tags a{
  font-family:var(--font-ui); font-size:.72rem; background:var(--tnv-grey); padding:6px 14px;
  border-radius:20px; color:var(--tnv-text); transition:all var(--tr-fast);
}
.tnv-tags a:hover{background:var(--tnv-primary); color:#fff;}
.tnv-cat-list a{
  display:flex; justify-content:space-between; padding:9px 0; font-size:.86rem;
  border-bottom:1px dashed var(--tnv-border);
}
.tnv-cat-list a:hover{color:var(--tnv-primary); padding-left:4px;}
.tnv-cat-list span{color:#999; font-size:.75rem;}
.tnv-ad-box{
  background:var(--tnv-grey); border:1px dashed #ccc; border-radius:var(--radius-sm);
  text-align:center; padding:40px 14px; font-family:var(--font-ui); font-size:.78rem; color:#999;
}
.tnv-social-follow{display:flex; gap:8px; flex-wrap:wrap;}
.tnv-social-follow a{
  flex:1; min-width:70px; text-align:center; padding:12px 6px; border-radius:var(--radius-sm);
  color:#fff; font-size:.78rem; font-family:var(--font-ui); font-weight:600; transition:opacity var(--tr-fast);
}
.tnv-social-follow a:hover{opacity:.85;}

/* =========================================================
   BREADCRUMB / PAGINATION
   ========================================================= */
.tnv-breadcrumb{font-family:var(--font-ui); font-size:.8rem; color:#999; margin-bottom:18px;}
.tnv-breadcrumb a{color:var(--tnv-text);}
.tnv-breadcrumb a:hover{color:var(--tnv-primary);}
.tnv-pagination{display:flex; gap:8px; justify-content:center; margin-top:34px;}
.tnv-pagination a{
  width:40px; height:40px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  border:1px solid var(--tnv-border); font-family:var(--font-ui); font-size:.85rem; color:var(--tnv-text);
  transition:all var(--tr-fast);
}
.tnv-pagination a.active, .tnv-pagination a:hover{background:var(--tnv-primary); border-color:var(--tnv-primary); color:#fff;}

/* =========================================================
   FOOTER
   ========================================================= */
.tnv-footer{background:var(--tnv-black); color:#bbb; font-family:var(--font-ui); padding-top:60px;}
.tnv-footer h6{color:#fff; font-size:.85rem; text-transform:uppercase; letter-spacing:1px; margin-bottom:20px;}
.tnv-footer a{color:#bbb; font-size:.85rem; line-height:2.1; display:block; transition:color var(--tr-fast);}
.tnv-footer a:hover{color:var(--tnv-accent); padding-left:3px;}
.tnv-footer-bottom{border-top:1px solid rgba(255,255,255,.1); padding:20px 0; font-size:.78rem; margin-top:40px;}
.tnv-footer .tnv-logo{color:#fff;}
.tnv-footer-newsletter input{border-radius:30px; border:1px solid rgba(255,255,255,.2); background:rgba(255,255,255,.05); color:#fff; padding:10px 18px; font-size:.85rem;}
.tnv-footer-newsletter input::placeholder{color:#888;}

/* =========================================================
   BACK TO TOP
   ========================================================= */
.tnv-totop{
  position:fixed; bottom:26px; right:26px; width:46px; height:46px; border-radius:50%;
  background:var(--tnv-primary); color:#fff; display:flex; align-items:center; justify-content:center;
  box-shadow:var(--shadow-md); opacity:0; visibility:hidden; transform:translateY(10px);
  transition:all var(--tr-fast); z-index:900; border:none;
}
.tnv-totop.show{opacity:1; visibility:visible; transform:translateY(0);}
.tnv-totop:hover{background:var(--tnv-primary-dark);}

/* =========================================================
   SKELETON LOADING
   ========================================================= */
.tnv-skel{background:linear-gradient(90deg, var(--tnv-grey) 25%, #eaeaea 37%, var(--tnv-grey) 63%); background-size:400% 100%; animation:tnv-skel 1.4s ease infinite;}
@keyframes tnv-skel{0%{background-position:100% 50%;} 100%{background-position:0 50%;}}

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width:991.98px){
  .tnv-topbar{display:none;}
  .tnv-mega .dropdown-menu{max-height:70vh; overflow-y:auto;}
  .tnv-featured-body h2{font-size:1.4rem;}
  .tnv-newsletter{padding:28px;}
}
@media (max-width:767.98px){
  .tnv-logo{font-size:1.6rem;}
  .tnv-ad-banner{display:none;}
  .tnv-hero .swiper-slide{min-height:300px;}
  .tnv-hero-caption h2{font-size:1.2rem;}
  .tnv-section{padding:36px 0;}
  .tnv-section-head h2{font-size:1.3rem;}
}

/* Category color utility classes (used via inline style fallback in PHP) */
.cat-politics{background:#8E44AD;} .cat-business{background:#1F6FEB;} .cat-technology{background:#0E9F6E;}
.cat-ai{background:#7C3AED;} .cat-india{background:#E10600;} .cat-world{background:#0D6EFD;}
.cat-sports{background:#F97316;} .cat-entertainment{background:#DB2777;} .cat-health{background:#059669;}
.cat-lifestyle{background:#D97706;} .cat-education{background:#2563EB;} .cat-science{background:#0891B2;}
.cat-automobile{background:#4B5563;} .cat-startup{background:#16A34A;} .cat-finance{background:#B45309;}
.cat-crypto{background:#CA8A04;}
