/* NViNiO News — Refined Editorial UI
 * Visual direction: restrained, premium, Apple-inspired editorial system.
 * Uses the original theme markup and the supplied September 2026 corrective CSS
 * as compatibility context, then deliberately overrides density, shadows and
 * sizing to restore a consistent visual hierarchy.
 */
:root {
  --nv-red: #e0002b;
  --nv-red-dark: #b80024;
  --nv-red-soft: rgba(224,0,43,.08);
  --nv-ink: #161616;
  --nv-muted: #6f7378;
  --nv-line: #e7e7e9;
  --nv-surface: #ffffff;
  --nv-surface-2: #f7f7f8;
  --nv-page: #f4f4f5;
  --nv-radius: 18px;
  --nv-radius-sm: 12px;
  --nv-gap: clamp(14px, 1.8vw, 24px);
  --nv-max: 1420px;
  --nv-ease: cubic-bezier(.22,.61,.36,1);
}
html { scroll-behavior:smooth; }
body {
  background: var(--nv-page) !important;
  color: var(--nv-ink) !important;
  font-size: 15px !important;
  line-height: 1.64 !important;
  letter-spacing: -.006em;
  overflow-x:hidden;
}
body::before { content:""; position:fixed; inset:0; pointer-events:none; z-index:-1;
  background: radial-gradient(circle at 50% -10%, rgba(255,255,255,.92), transparent 44%);
}
body.nv-dark { --nv-ink:#f2f2f4; --nv-muted:#a1a4aa; --nv-line:#2b2d31; --nv-surface:#17181a; --nv-surface-2:#1d1f22; --nv-page:#0e0f10; }
body.nv-dark::before { background: radial-gradient(circle at 50% -10%, rgba(255,255,255,.06), transparent 44%); }

/* Global links/buttons: no blanket shadows. */
a { color:var(--nv-red); transition:color .2s ease, opacity .2s ease; }
a:hover { color:var(--nv-red-dark); text-decoration:none; }
.btn { box-shadow:none !important; border-radius:999px !important; transition:transform .22s var(--nv-ease), background-color .22s ease, border-color .22s ease, color .22s ease; }
.btn:hover { transform:translateY(-1px); }
.btn-primary { background:var(--nv-red) !important; border-color:var(--nv-red) !important; color:#fff !important; }
.btn-primary:hover { background:var(--nv-red-dark) !important; border-color:var(--nv-red-dark) !important; }

/* Header / navigation */
.site-header {
  margin:0 !important; border-bottom:1px solid rgba(127,127,127,.14) !important;
  background:rgba(255,255,255,.78) !important; backdrop-filter:saturate(180%) blur(22px); -webkit-backdrop-filter:saturate(180%) blur(22px);
  box-shadow:none !important;
  transition:background-color .3s ease, border-color .3s ease, transform .3s var(--nv-ease);
}
.nv-dark .site-header { background:rgba(17,18,20,.78) !important; border-color:rgba(255,255,255,.08) !important; }
.site-header.is-scrolled { background:rgba(255,255,255,.92) !important; }
.nv-dark .site-header.is-scrolled { background:rgba(17,18,20,.92) !important; }
.site-header > .py-md-2 { padding-block:10px !important; }
.site-logo { width:132px !important; max-height:34px !important; object-fit:contain; }
.navbar-logo img { max-height:34px !important; }
.home-search-box { margin:0 !important; }
.home-search-box .input-group { background:var(--nv-surface-2); border:1px solid transparent; border-radius:999px; transition:border-color .2s ease, background .2s ease, box-shadow .2s ease; }
.home-search-box .input-group:focus-within { background:var(--nv-surface); border-color:rgba(224,0,43,.28); box-shadow:0 0 0 4px var(--nv-red-soft); }
.home-search-box .form-control { border:0 !important; background:transparent !important; color:var(--nv-ink) !important; height:42px; padding-left:16px !important; border-radius:999px !important; }
.home-search-box .btn { width:42px; height:42px; padding:0; display:grid; place-items:center; border-radius:50% !important; margin:0 !important; }
.nv-header-actions { display:flex; justify-content:flex-end; align-items:center; gap:8px; }
.nv-theme-toggle { width:42px; height:42px; padding:0; border:1px solid var(--nv-line); background:var(--nv-surface); color:var(--nv-ink); display:grid; place-items:center; font-size:16px; }
.nv-theme-toggle:hover { border-color:rgba(224,0,43,.35); color:var(--nv-red); }
.nv-theme-toggle .nv-moon { display:none; }.nv-dark .nv-theme-toggle .nv-sun { display:none; }.nv-dark .nv-theme-toggle .nv-moon { display:block; }

/* Desktop editorial grid */
.home > #content { width:100%; }
.home .container { max-width:var(--nv-max) !important; padding-left:20px !important; padding-right:20px !important; }
.home .container > .row.no-gutters {
  display:grid !important; grid-template-columns:minmax(180px, 210px) minmax(0,1fr) minmax(260px, 310px); gap:var(--nv-gap); margin:0 !important; align-items:start;
}
.home .container > .row.no-gutters > [class*="col-"] { width:auto !important; max-width:none !important; flex:none !important; padding:0 !important; }
.sidebar-left { position:sticky; top:74px; }
.sidebar-right { position:sticky; top:74px; }

/* Main section headings */
.site-heading, .sidebar-heading { margin:30px 0 14px !important; font-size:12px !important; font-weight:700 !important; letter-spacing:.11em; text-transform:uppercase; color:var(--nv-muted) !important; }
.site-heading span, .sidebar-heading span { color:inherit; }
.site-heading::after { content:""; display:block; width:36px; height:2px; background:var(--nv-red); margin-top:10px; border-radius:2px; }

/* Category navigation */
.navbar-categories { gap:2px; }
.navbar-categories .nav-link { display:flex; align-items:center; min-height:38px; padding:7px 10px !important; border:1px solid transparent !important; border-radius:10px !important; color:var(--nv-muted) !important; transition:background .2s ease,color .2s ease,transform .2s var(--nv-ease); }
.navbar-categories .nav-link:hover { background:var(--nv-surface); color:var(--nv-ink) !important; transform:translateX(2px); }
.navbar-categories .nav-link.active { background:var(--nv-red-soft) !important; border-color:transparent !important; color:var(--nv-red) !important; font-weight:600; }
.category-icon { width:18px; height:18px; object-fit:contain; opacity:.75; }

/* Feed cards — editorial rows, not floating cards */
.post-item { margin:0 0 12px !important; background:var(--nv-surface) !important; border:1px solid var(--nv-line) !important; border-radius:var(--nv-radius) !important; box-shadow:none !important; overflow:hidden; transform:translateZ(0); transition:border-color .25s ease, background .25s ease, transform .35s var(--nv-ease); }
.post-item:hover { border-color:rgba(224,0,43,.25) !important; transform:translateY(-2px); }
.post-item > .d-flex { padding:10px !important; gap:12px; }
.post-feat-image { flex:0 0 clamp(150px, 25vw, 230px); padding:0 !important; }
.post-feat-image .post-img-link { display:block; overflow:hidden; border-radius:var(--nv-radius-sm); background:#ececec; aspect-ratio:16/9; }
.post-feat-image .post-feat-img { width:100%; height:100%; object-fit:cover; border-radius:inherit !important; transition:transform .6s var(--nv-ease); }
.post-item:hover .post-feat-img { transform:scale(1.035); }
.post-info { padding:4px 8px 4px 0 !important; min-width:0; display:flex; flex-direction:column; justify-content:center; }
.post-title { font-size:18px !important; line-height:1.27 !important; font-weight:700 !important; letter-spacing:-.025em; margin:0 0 8px !important; color:var(--nv-ink) !important; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.post-feed-logo { font-size:11px !important; color:var(--nv-muted); letter-spacing:.06em; text-transform:uppercase; }
.post-time { font-size:12px !important; color:var(--nv-muted) !important; }
.feed-logo-img { max-height:22px !important; max-width:76px; object-fit:contain; vertical-align:middle; opacity:.88; }

/* Slider */
#latestSlider { height:auto !important; border-radius:24px !important; overflow:hidden; background:#141414; }
#latestSlider .carousel-item { min-height:390px; border-radius:0 !important; }
#latestSlider .carousel-item img { width:100%; height:390px; object-fit:cover; border-radius:0 !important; filter:saturate(.94); transition:transform 7s var(--nv-ease); }
#latestSlider .carousel-item.active img { transform:scale(1.025); }
#latestSlider .carousel-caption { left:0; right:0; bottom:0; top:auto; padding:80px 28px 30px; text-align:left; background:linear-gradient(180deg, transparent 0%, rgba(0,0,0,.76) 100%); }
#latestSlider .caption-label { max-width:820px; margin:0; color:#fff; font-size:clamp(22px,3vw,38px) !important; line-height:1.08 !important; font-weight:700 !important; letter-spacing:-.035em; text-shadow:none; }
#latestSlider .carousel-indicators li { width:24px; height:3px; border-radius:3px; opacity:.45; }
#latestSlider .carousel-indicators .active { opacity:1; background:var(--nv-red); }

/* Side rail */
.sidebar-block, .ad-block { margin-bottom:18px !important; }
.sidebar-block { background:transparent !important; border:0 !important; border-radius:0 !important; box-shadow:none !important; }
.sidebar-body { background:var(--nv-surface) !important; border:1px solid var(--nv-line); border-radius:16px !important; }
.trend-item { margin:0 !important; padding:8px 7px !important; border:0 !important; border-bottom:1px solid var(--nv-line) !important; border-radius:0 !important; background:transparent !important; box-shadow:none !important; font-size:12px; }
.trend-item:hover { background:var(--nv-red-soft) !important; border-color:var(--nv-line) !important; box-shadow:none !important; }
.trend-item:last-child { border-bottom:0 !important; }
.sidebar-post-item { margin-bottom:0 !important; background:var(--nv-surface); border-bottom:1px solid var(--nv-line); padding:10px 0 !important; }
.sidebar-post-item:last-child { border-bottom:0; }
.sidebar-post-item .post-feat-image { aspect-ratio:16/9; border-radius:12px !important; overflow:hidden; background:#eee; }
.sidebar-post-item .post-feat-img { transition:transform .5s var(--nv-ease); }
.sidebar-post-item:hover .post-feat-img { transform:scale(1.035); }
.sidebar-post-item .post-title { font-size:14px !important; line-height:1.38 !important; margin:7px 2px 2px !important; -webkit-line-clamp:3; }

/* Article page */
.post-container { max-width:var(--nv-max) !important; }
.post-single { margin-top:28px !important; padding:0 !important; background:var(--nv-surface) !important; border:1px solid var(--nv-line); border-radius:24px !important; box-shadow:none !important; overflow:hidden; }
.post-single-title { font-size:clamp(30px,4.1vw,52px) !important; line-height:1.05 !important; letter-spacing:-.045em; font-weight:750 !important; padding:34px clamp(20px,4vw,52px) 12px !important; max-width:1000px; }
.post-single-meta { padding:0 clamp(20px,4vw,52px) 18px !important; font-size:12px !important; color:var(--nv-muted) !important; display:flex; align-items:center; flex-wrap:wrap; gap:9px; }
.post-single-share { padding:0 clamp(20px,4vw,52px) 20px !important; display:flex; gap:8px; flex-wrap:wrap; }
.post-single-share .btn-share { width:38px; height:38px; display:grid; place-items:center; padding:0 !important; border:1px solid var(--nv-line) !important; background:var(--nv-surface) !important; color:var(--nv-ink) !important; border-radius:50% !important; }
.post-single-share .btn-share:hover { color:var(--nv-red) !important; border-color:rgba(224,0,43,.35) !important; transform:translateY(-2px); }
.post-single-image { min-height:clamp(260px, 45vw, 590px) !important; background-size:cover !important; background-position:center !important; background-color:var(--nv-surface-2) !important; }
.post-single-content { max-width:860px; margin:0 auto; padding:34px clamp(20px,4vw,30px) 38px !important; font-size:18px !important; line-height:1.82 !important; }
.post-single-content p { margin-bottom:1.25em; }
.post-single-content h2 { font-size:30px; line-height:1.18; letter-spacing:-.02em; margin:2em 0 .65em; }
.post-single-content h3 { font-size:24px; line-height:1.22; margin:1.7em 0 .6em; }
.post-single-content img { max-width:100%; height:auto; border-radius:16px; }
.post-single-content blockquote { margin:1.8em 0; padding:14px 20px; border-left:3px solid var(--nv-red); background:var(--nv-red-soft); border-radius:0 12px 12px 0; }
.post-single-content pre { background:#111214 !important; color:#f5f5f7; border:1px solid #22252a; border-radius:14px; padding:18px; font-size:14px; line-height:1.65; overflow:auto; }
.post-single-content code:not(pre code) { background:var(--nv-surface-2); border:1px solid var(--nv-line); border-radius:6px; padding:.15em .38em; font-size:.9em; }
.post-single-source { padding:0 20px 34px !important; }
.post-single-source .btn { padding:10px 17px !important; }
.breadcrumb { background:transparent !important; border:0 !important; color:var(--nv-muted); font-size:12px; padding:14px 2px !important; }
.single-comments { margin-top:10px; padding:24px 0 !important; }

/* Search / utility / table / form surfaces */
#content .nav-tabs { border:0 !important; }
.table { color:var(--nv-ink) !important; background:var(--nv-surface); border:1px solid var(--nv-line); border-radius:14px; overflow:hidden; }
th { background:var(--nv-red) !important; color:#fff !important; }
tr:nth-child(odd), tr:nth-child(even) { background:var(--nv-surface) !important; }
pre.syntaxhighlighter, .syntaxhighlighter { border-radius:14px !important; box-shadow:none !important; }

/* Motion system */
.nv-reveal { opacity:0; transform:translateY(12px); transition:opacity .65s ease, transform .65s var(--nv-ease); }
.nv-reveal.is-visible { opacity:1; transform:none; }
@keyframes nv-pulse { 0%,100%{opacity:.55} 50%{opacity:1} }
.nv-theme-toggle.is-changing::after { content:""; width:5px; height:5px; border-radius:50%; background:var(--nv-red); position:absolute; animation:nv-pulse 1s ease-in-out infinite; }

/* Theme override of the supplied September 2026 corrective rules:
 * keep their rounded/image intentions, but remove blanket shadows and dense red hover fills.
 */
.my-3, .mt-md-3, .my-md-3, .post-item, .sidebar-block, .ad-block, .adblock { box-shadow:none !important; }
.sidebar-block .trend-item:hover { background:var(--nv-red-soft) !important; border-color:var(--nv-line) !important; }

@media (max-width: 1120px) {
  .home .container > .row.no-gutters { grid-template-columns:190px minmax(0,1fr); }
  .home .container > .row.no-gutters > .col-md-3 { grid-column:1/-1; }
  .sidebar-right { position:static; }
  .home .container > .row.no-gutters > .col-md-7 { grid-column:2; }
}
@media (max-width: 860px) {
  body { font-size:14px !important; }
  .home .container { padding-left:12px !important; padding-right:12px !important; }
  .home .container > .row.no-gutters { display:block !important; }
  .sidebar-left { position:static; }
  .sidebar-right { position:static; }
  .post-item > .d-flex { align-items:stretch; }
  .post-feat-image { flex-basis:38%; }
  .post-title { font-size:17px !important; }
  #latestSlider .carousel-item, #latestSlider .carousel-item img { min-height:300px; height:300px; }
  #latestSlider .carousel-caption { padding:60px 20px 22px; }
  #latestSlider .caption-label { font-size:25px !important; }
}
@media (max-width: 575px) {
  .site-header > .py-md-2 { padding-block:8px !important; }
  .site-logo { width:118px !important; }
  .home-search-box .form-control { height:38px; }
  .home-search-box .btn { width:38px; height:38px; }
  .post-item > .d-flex { gap:10px; padding:8px !important; }
  .post-feat-image { flex-basis:39%; }
  .post-feat-image .post-img-link { border-radius:10px; }
  .post-title { font-size:15px !important; line-height:1.27 !important; }
  .post-feed-logo, .post-time { font-size:10px !important; }
  .post-single { border-radius:18px !important; }
  .post-single-title { font-size:30px !important; padding:24px 18px 10px !important; }
  .post-single-meta, .post-single-share { padding-left:18px !important; padding-right:18px !important; }
  .post-single-content { font-size:17px !important; line-height:1.75 !important; padding-left:18px !important; padding-right:18px !important; }
  .post-single-image { min-height:240px !important; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; scroll-behavior:auto !important; }
  .nv-reveal { opacity:1; transform:none; }
}
