/* ============================================================
   खबरपोर्टल — Premium Editorial Stylesheet v9
   ============================================================ */

:root {
  --red:        #C01D2E;
  --red-dark:   #9A1522;
  --red-glow:   rgba(192,29,46,.15);
  --red-subtle: rgba(192,29,46,.06);
  --black:      #0C0B0B;
  --gray-900:   #141210;
  --gray-800:   #2A2520;
  --gray-700:   #4A4540;
  --gray-600:   #6B6560;
  --gray-500:   #8E8880;
  --gray-400:   #ACA5A0;
  --gray-300:   #CCC7C2;
  --gray-200:   #E4DEDB;
  --gray-150:   #EDE8E5;
  --gray-100:   #F5F1EE;
  --white:      #FDFCFB;
  --cream:      #FAF8F5;
  --gold:       #B8963E;
  --blue:       #1A52A8;
  --green:      #1E6E3C;
  --yellow:     #D49B0A;
  --font-head:   'DM Sans', sans-serif;
  --font-body:   'DM Sans', sans-serif;
  --font-serif:  'Playfair Display', Georgia, serif;
  --font-elegant:'Cormorant Garamond', Georgia, serif;
  --font-np:     'Mukta', sans-serif;
  --shadow-xs:  0 1px 2px rgba(12,11,11,.03);
  --shadow-sm:  0 2px 8px rgba(12,11,11,.05),0 1px 2px rgba(12,11,11,.03);
  --shadow-md:  0 6px 20px rgba(12,11,11,.07),0 2px 4px rgba(12,11,11,.03);
  --shadow-lg:  0 10px 36px rgba(12,11,11,.1),0 4px 8px rgba(12,11,11,.05);
  --shadow-xl:  0 20px 56px rgba(12,11,11,.14),0 8px 16px rgba(12,11,11,.06);
  --shadow-red: 0 4px 20px rgba(192,29,46,.25);
  --transition:      .22s cubic-bezier(.4,0,.2,1);
  --transition-slow: .4s cubic-bezier(.4,0,.2,1);
  --spring:          .3s cubic-bezier(.34,1.56,.64,1);
  --radius-sm: 6px;
  --radius:    10px;
  --radius-md: 14px;
  --radius-lg: 18px;
}

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;overflow-x:hidden}
body{font-family:var(--font-np),var(--font-body);background:var(--white);color:var(--gray-900);font-size:15px;line-height:1.7;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}

a{color:inherit;text-decoration:none}
a:hover{color:var(--red)}
img{max-width:100%;display:block}
.container{max-width:1200px;margin:0 auto;padding:0 28px}

/* BADGES */
.badge{display:inline-flex;align-items:center;gap:3px;font-family:var(--font-head);font-size:9px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;padding:4px 10px;color:#fff;border-radius:20px}
.badge-red{background:var(--red)}.badge-black{background:var(--gray-900)}.badge-blue{background:var(--blue)}.badge-green{background:var(--green)}.badge-yellow{background:var(--yellow);color:var(--gray-900)}

/* SECTION HEADER */
.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px;padding-bottom:14px;position:relative}
.section-header::after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--red) 0%,var(--gray-300) 30%,transparent 100%);border-radius:1px}
.section-title{font-family:var(--font-np),var(--font-head);font-size:18px;font-weight:800;color:var(--gray-900);letter-spacing:-.3px;display:flex;align-items:center;gap:10px}
.section-title::before{content:'';display:block;width:4px;height:20px;background:var(--red);border-radius:2px;flex-shrink:0}
.section-header .section-title{margin-bottom:0}
.section-header a.more-link{font-family:var(--font-head);font-size:10.5px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:var(--gray-500);transition:all .2s;display:flex;align-items:center;gap:4px;padding:5px 12px;border-radius:20px;background:var(--cream);border:1px solid var(--gray-150)}
.section-header a.more-link::after{content:'→';transition:transform .2s}
.section-header a.more-link:hover{color:var(--red);border-color:var(--red);background:var(--red-subtle)}
.section-header a.more-link:hover::after{transform:translateX(3px)}

/* TOP BAR */
#topbar{background:var(--black);color:var(--gray-500);font-size:11px;font-family:var(--font-head);letter-spacing:.5px;padding:7px 0;border-bottom:1px solid rgba(255,255,255,.04)}
#topbar .topbar-inner{display:flex;align-items:center;justify-content:space-between}
#topbar .date-weather{display:flex;align-items:center;gap:18px}
#topbar .date-weather span{display:flex;align-items:center;gap:5px;font-weight:500}
#topbar .date-weather i{color:var(--red);font-size:10px}
#topbar .social-links{display:flex;gap:14px}
#topbar .social-links a{color:rgba(255,255,255,.3);font-size:12px;transition:var(--transition)}
#topbar .social-links a:hover{color:#fff}

/* HEADER */
#header{background:rgba(253,252,251,.96);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);padding:0;border-bottom:1px solid var(--gray-200);position:sticky;top:0;z-index:1000;box-shadow:var(--shadow-sm)}
#header .header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:68px;padding:8px 0}
.logo{display:flex;flex-direction:column;line-height:1}
.logo-main{font-family:var(--font-np),var(--font-serif);font-size:38px;font-weight:900;color:var(--red);letter-spacing:-1.5px;line-height:1;text-shadow:0 2px 12px rgba(192,29,46,.2);transition:var(--transition)}
.logo:hover .logo-main{color:var(--red-dark)}
.logo-sub{font-family:var(--font-head);font-size:8.5px;font-weight:600;letter-spacing:3.5px;text-transform:uppercase;color:var(--gray-400);margin-top:4px}
.header-ad{display:none}
.header-actions{display:flex;gap:6px;align-items:center}
.btn-search,.btn-login{display:flex;align-items:center;gap:6px;padding:8px 15px;font-family:var(--font-head);font-size:11px;font-weight:600;letter-spacing:.6px;text-transform:uppercase;border:none;cursor:pointer;transition:var(--transition);border-radius:var(--radius-sm)}
.btn-search{background:transparent;color:var(--gray-600);border:1px solid var(--gray-200)}
.btn-search:hover{background:var(--gray-100);border-color:var(--gray-300);color:var(--gray-900)}
.btn-login{background:var(--gray-900);color:#fff;box-shadow:var(--shadow-sm)}
.btn-login:hover{background:var(--black);box-shadow:var(--shadow-md);transform:translateY(-1px)}

/* NAVBAR */
#navbar{background:var(--white);border-bottom:1px solid var(--gray-200)}
.nav-inner{display:flex;align-items:center;overflow-x:auto;scrollbar-width:none;gap:2px}
.nav-inner::-webkit-scrollbar{display:none}
.nav-inner a{display:flex;align-items:center;gap:5px;padding:11px 13px;font-family:var(--font-head);font-size:11px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:var(--gray-600);white-space:nowrap;border-bottom:2px solid transparent;transition:var(--transition);position:relative}
.nav-inner a i{font-size:10px;opacity:.6;flex-shrink:0}
.nav-inner a::after{content:'';position:absolute;bottom:-1px;left:13px;right:13px;height:2px;background:var(--red);transform:scaleX(0);transition:var(--spring);transform-origin:left}
.nav-inner a:hover{color:var(--gray-900)}
.nav-inner a:hover::after{transform:scaleX(.5)}
.nav-inner a.active{color:#1a73e8}
.nav-inner a.active::after{transform:scaleX(1);background:#1a73e8}
.nav-inner a.home-link{color:var(--red);font-size:15px}

/* BREAKING */
#breaking{background:var(--cream);display:flex;align-items:center;overflow:hidden;height:38px;border-bottom:1px solid var(--gray-200)}
.breaking-label{background:var(--red);color:#fff;font-family:var(--font-head);font-size:9px;font-weight:700;letter-spacing:2px;text-transform:uppercase;padding:0 20px;height:100%;display:flex;align-items:center;flex-shrink:0;gap:6px;box-shadow:4px 0 16px var(--red-glow)}
.breaking-label i{animation:blink 1s infinite;font-size:7px}
@keyframes blink{0%,100%{opacity:1}50%{opacity:0}}
.ticker-wrapper{flex:1;overflow:hidden}
.ticker-track{display:flex;animation:ticker 50s linear infinite}
.ticker-track:hover{animation-play-state:paused}
@keyframes ticker{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
.ticker-item{display:flex;align-items:center;gap:8px;padding:0 28px;white-space:nowrap;color:var(--gray-700);font-family:var(--font-head);font-size:12px;font-weight:500;cursor:pointer;transition:var(--transition)}
.ticker-item:hover{color:var(--red)}
.ticker-item::before{content:'·';color:var(--red);font-size:18px;opacity:.5}

/* MAIN */
#main{padding:32px 0}
.main-grid{display:grid;grid-template-columns:1fr 288px;gap:44px;align-items:start}

/* HERO */
.hero-grid{display:none}
.hero-main{grid-column:1;grid-row:1/3;position:relative;overflow:hidden}
.hero-main img{width:100%;height:430px;object-fit:cover;transition:transform .8s cubic-bezier(.4,0,.2,1)}
.hero-main:hover img{transform:scale(1.03)}
.hero-overlay{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,rgba(12,11,11,.92) 0%,rgba(12,11,11,.6) 40%,transparent 100%);padding:80px 28px 28px}
.hero-overlay .badge{margin-bottom:10px;box-shadow:0 2px 8px rgba(0,0,0,.2)}
.hero-overlay h2{font-family:var(--font-np),var(--font-serif);font-size:26px;font-weight:700;color:#fff;line-height:1.3;margin-bottom:10px;text-shadow:0 1px 8px rgba(0,0,0,.4)}
.hero-overlay .meta{font-size:11px;color:rgba(255,255,255,.55);font-family:var(--font-head);display:flex;align-items:center;gap:8px}
.hero-side{position:relative;overflow:hidden}
.hero-side img{width:100%;height:212px;object-fit:cover;transition:transform .6s cubic-bezier(.4,0,.2,1)}
.hero-side:hover img{transform:scale(1.04)}
.hero-side .hero-overlay{padding:40px 18px 18px}
.hero-side .hero-overlay h2{font-size:15px;font-family:var(--font-np),var(--font-head);text-shadow:0 1px 4px rgba(0,0,0,.5)}

/* ═══ HERO CAROUSEL ═══ */
.hero-carousel-wrap{position:relative;margin-bottom:36px;border-radius:16px;overflow:hidden;box-shadow:0 8px 30px rgba(0,0,0,.1)}
.hero-carousel{position:relative;overflow:hidden;touch-action:pan-y pinch-zoom}
.hero-slide{position:relative;display:none;overflow:hidden}
.hero-slide.active{display:block}
.hero-slide img{width:100%;height:430px;object-fit:cover;display:block}
.hero-slide .hero-overlay{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,rgba(12,11,11,.92) 0%,rgba(12,11,11,.6) 40%,transparent 100%);padding:80px 28px 28px}
.hero-slide .hero-overlay .badge{margin-bottom:10px;box-shadow:0 2px 8px rgba(0,0,0,.2)}
.hero-slide .hero-overlay h2{font-family:var(--font-np),var(--font-serif);font-size:26px;font-weight:700;color:#fff;line-height:1.3;margin-bottom:10px;text-shadow:0 1px 8px rgba(0,0,0,.4)}
.hero-slide .hero-overlay .meta{font-size:11px;color:rgba(255,255,255,.55);font-family:var(--font-head);display:flex;align-items:center;gap:8px}
/* Slide transitions */
.hero-slide{opacity:0;transition:opacity .45s ease}
.hero-slide.active{opacity:1;display:block}
.hero-slide:not(.active){position:absolute;top:0;left:0;right:0;display:block;pointer-events:none}
/* Dots */
.hero-dots{position:absolute;bottom:14px;left:50%;transform:translateX(-50%);display:flex;gap:6px;z-index:5}
.hero-dot{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.35);border:none;cursor:pointer;padding:0;transition:all .2s}
.hero-dot.active{background:#fff;width:22px;border-radius:4px}
/* Desktop: still show grid, hide carousel */
@media(min-width:641px){
  .hero-carousel-wrap{display:block}
  .hero-slide img{height:430px}
}
/* Mobile: show carousel */
@media(max-width:640px){
  .hero-grid{display:none !important}
  .hero-carousel-wrap{display:block}
  .hero-slide img{height:260px}
  .hero-slide .hero-overlay{padding:50px 18px 18px}
  .hero-slide .hero-overlay h2{font-size:18px}
  .hero-dots{bottom:10px}
}

/* ═══ PAGE LOADER — Skeleton shimmer ═══ */
.page-loader{position:fixed;inset:0;z-index:99999;background:#fff;transition:opacity .4s ease,visibility .4s ease;overflow:hidden}
body.dark-mode .page-loader{background:#0f0f0f}
.page-loader.loaded{opacity:0;visibility:hidden;pointer-events:none}

.pl-skeleton{max-width:100%;margin:0;padding:0}

/* Shimmer bone */
.pl-bone{background:rgba(0,0,0,.06);border-radius:4px;position:relative;overflow:hidden;flex-shrink:0}
.pl-bone::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.55) 50%,transparent 100%);animation:plShimmer 1.4s ease infinite}
body.dark-mode .pl-bone{background:rgba(255,255,255,.07)}
body.dark-mode .pl-bone::after{background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.07) 50%,transparent 100%)}
@keyframes plShimmer{0%{transform:translateX(-100%)}100%{transform:translateX(100%)}}

/* Fake navbar */
.pl-nav{display:flex;align-items:center;justify-content:space-between;height:56px;padding:0 40px;border-bottom:1px solid rgba(0,0,0,.06)}
body.dark-mode .pl-nav{border-color:rgba(255,255,255,.06)}
.pl-bone-logo{width:140px;height:24px}
.pl-nav-links{display:flex;gap:16px}

/* Fake ticker */
.pl-ticker{display:flex;align-items:center;gap:14px;height:32px;padding:0 40px;border-bottom:1px solid rgba(0,0,0,.04)}
body.dark-mode .pl-ticker{border-color:rgba(255,255,255,.04)}

/* Article skeleton layout */
.pl-article-wrap{display:flex;gap:32px;padding:24px 40px 0;align-items:flex-start}
.pl-article-main{flex:1;min-width:0}
.pl-article-sidebar{width:280px;flex-shrink:0}

/* Homepage skeleton layout */
.pl-home-grid{display:grid;grid-template-columns:1fr 300px;gap:0}
.pl-home-main{padding:0 40px 0 40px}
.pl-home-sidebar{padding:24px 32px 0 0;border-left:1px solid rgba(0,0,0,.06)}

/* Card grid — matches sp-news-grid (3-col) */
.pl-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:0}
.pl-card{overflow:hidden;border:1px solid rgba(0,0,0,.06)}
body.dark-mode .pl-card{border-color:rgba(255,255,255,.06)}
.pl-card-img{width:100%;height:160px;border-radius:0}
.pl-card-body{padding:14px}

@media(max-width:1100px){
  .pl-home-grid{grid-template-columns:1fr}
  .pl-home-sidebar{display:none}
  .pl-article-sidebar{width:220px}
}
@media(max-width:768px){
  .pl-nav,.pl-ticker,.pl-article-wrap,.pl-home-main{padding-left:16px;padding-right:16px}
  .pl-article-sidebar{display:none}
  .pl-cards{grid-template-columns:repeat(2,1fr);gap:10px}
  .pl-card-img{height:110px}
}
@media(max-width:480px){
  .pl-card-hide-mobile{display:none}
  .pl-cards{grid-template-columns:1fr}
}

/* Staggered section fade-in — driven by JS .visible class */

/* CARDS */
.card{background:var(--white);overflow:hidden;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;border:1px solid rgba(0,0,0,.06);border-radius:14px;box-shadow:0 1px 3px rgba(0,0,0,.04),0 1px 2px rgba(0,0,0,.02);position:relative}
.card:hover{border-color:rgba(0,0,0,.1);box-shadow:0 12px 40px rgba(0,0,0,.08),0 4px 12px rgba(0,0,0,.04);transform:translateY(-4px)}
.card .card-img-wrap{overflow:hidden;position:relative;margin:0}
.card .card-img-wrap::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(255,255,255,.18) 75%,rgba(255,255,255,.72) 90%,var(--white) 100%);pointer-events:none;transition:opacity .3s}
.card:hover .card-img-wrap::after{opacity:.7}
.card img{width:100%;height:200px;object-fit:cover;display:block;transition:transform .7s cubic-bezier(.4,0,.2,1)}
.card:hover img{transform:scale(1.05)}
.card-body{padding:16px 18px 12px;flex:1}
.card-body .badge{margin-bottom:10px;font-size:8.5px;letter-spacing:1px;box-shadow:0 2px 6px rgba(0,0,0,.08)}
.card-body h3{font-family:var(--font-np),var(--font-head);font-size:16.5px;font-weight:800;line-height:1.38;margin-bottom:6px;color:var(--gray-900);transition:color .2s;letter-spacing:-.2px}
.card-body h3 a{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.card-body h3:hover,.card-body h3 a:hover{color:var(--red)}
.card-body p{font-size:13px;color:var(--gray-600);line-height:1.7;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;letter-spacing:.01em}
.card-footer{padding:10px 14px;border-top:1px solid rgba(0,0,0,.04);display:flex;align-items:center;gap:8px;font-family:var(--font-head);font-size:11px;font-weight:500;color:var(--gray-500);background:linear-gradient(180deg,var(--cream) 0%,rgba(250,248,245,.5) 100%);flex-wrap:nowrap;min-height:42px}
.card-footer-badge{flex-shrink:0;font-size:8px;letter-spacing:1px;padding:3px 9px;white-space:nowrap;opacity:1!important;visibility:visible!important;transform:none!important}
.card-cat-text{font-size:10px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;white-space:nowrap;flex-shrink:0}
.card-footer .card-author{display:flex;align-items:center;gap:6px;flex:1;min-width:0;overflow:hidden}
.card-footer .card-author img{width:20px;height:20px;border-radius:50%;object-fit:cover;flex-shrink:0;border:1.5px solid var(--gray-150)}
.card-footer .card-author-name{font-weight:600;color:var(--gray-700);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:10.5px}
.card-footer .card-meta-right{display:flex;align-items:center;gap:8px;flex-shrink:0;font-size:10px;color:var(--gray-400)}
.card-footer .card-meta-right i{font-size:9px;opacity:.6}
.card-footer .views{display:flex;align-items:center;gap:4px}

.card-h{display:flex;overflow:hidden;transition:all .25s cubic-bezier(.4,0,.2,1);padding:12px 0;border-bottom:1px solid var(--gray-150);border-radius:10px}
.card-h:last-child{border-bottom:none}
.card-h:hover{background:linear-gradient(90deg,var(--cream),transparent);padding-left:8px;margin-left:-4px}
.card-h .card-img-wrap{flex-shrink:0;overflow:hidden;border-radius:10px}
.card-h img{width:108px;height:74px;object-fit:cover;transition:transform .5s cubic-bezier(.4,0,.2,1);border-radius:10px}
.card-h:hover img{transform:scale(1.07)}
.card-h .info{padding:0 14px;flex:1;display:flex;flex-direction:column;justify-content:center}
.card-h .info h4{font-family:var(--font-np),var(--font-head);font-size:14.5px;font-weight:700;line-height:1.38;color:var(--gray-900);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;transition:color .2s;letter-spacing:-.1px}
.card-h .info h4:hover,.card-h .info h4 a:hover{color:var(--red);cursor:pointer}
.card-h .info .meta{font-family:var(--font-head);font-size:10.5px;font-weight:500;color:var(--gray-500);margin-top:5px;display:flex;align-items:center;gap:6px}
.card-h .info .meta i{font-size:9px;opacity:.5}
.card-h .info .meta .ch-author{display:flex;align-items:center;gap:4px}
.card-h .info .meta .ch-author img{width:16px;height:16px;border-radius:50%;object-fit:cover}

.list-item{display:flex;align-items:flex-start;gap:12px;padding:11px 0;border-bottom:1px solid var(--gray-150);transition:all .2s cubic-bezier(.4,0,.2,1);border-radius:8px}
.list-item:last-child{border-bottom:none}
.list-num{font-family:var(--font-head);font-size:22px;font-weight:800;color:var(--gray-200);line-height:1;min-width:26px;transition:color .2s}
.list-item:hover .list-num{color:var(--red)}
.list-item:hover{padding-left:4px}
.list-item h5{font-family:var(--font-np),var(--font-head);font-size:14px;font-weight:600;line-height:1.4;color:var(--gray-800);transition:color .2s}
.list-item h5:hover{color:var(--red);cursor:pointer}
.list-item .time{font-family:var(--font-head);font-size:10px;font-weight:500;color:var(--gray-500);margin-top:3px}

.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}

/* CATEGORY SECTION */
.category-section{padding:0;margin-bottom:40px}

/* SIDEBAR */
.sidebar{display:flex;flex-direction:column;gap:30px}
.widget{overflow:hidden}
.widget-header{padding:0 0 12px;font-family:var(--font-np),var(--font-head);font-size:15px;font-weight:800;display:flex;align-items:center;gap:8px;position:relative;margin-bottom:14px;color:var(--gray-900)}
.widget-header::after{content:'';position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(90deg,var(--gray-900) 0%,var(--gray-300) 50%,transparent 100%)}
.widget-header i{color:var(--red);font-size:13px}
.widget-body{padding:0}

.trending-item{display:flex;align-items:flex-start;gap:10px;padding:10px 0;border-bottom:1px solid var(--gray-150);transition:all .2s cubic-bezier(.4,0,.2,1);border-radius:6px}
.trending-item:last-child{border-bottom:none}
.trending-item:hover{padding-left:3px}
.trend-rank{font-family:var(--font-head);font-size:20px;font-weight:800;color:var(--gray-200);line-height:1;min-width:24px;transition:color .25s}
.trending-item:hover .trend-rank{color:var(--red)}
.trending-item .card-img-wrap{flex-shrink:0;overflow:hidden;border-radius:8px}
.trending-item img{width:64px;height:48px;object-fit:cover;transition:transform .5s ease;border-radius:8px}
.trending-item:hover img{transform:scale(1.08)}
.trend-info h5{font-family:var(--font-np),var(--font-head);font-size:13px;font-weight:600;line-height:1.38;color:var(--gray-800);transition:color .2s}
.trending-item:hover .trend-info h5{color:var(--red)}
.trend-info span{font-family:var(--font-head);font-size:10px;font-weight:500;color:var(--gray-500)}

/* WEATHER WIDGET */
.weather-widget{background:linear-gradient(145deg,#172840 0%,#0D1F35 55%,#1A2E4A 100%);border-radius:var(--radius-md);padding:22px;color:#fff;position:relative;overflow:hidden;box-shadow:0 8px 40px rgba(13,31,53,.5),0 2px 8px rgba(13,31,53,.3);margin-bottom:18px}
.weather-widget::before{content:'';position:absolute;top:-50px;right:-50px;width:180px;height:180px;background:radial-gradient(circle,rgba(255,213,79,.14) 0%,transparent 70%);pointer-events:none}
.weather-widget::after{content:'';position:absolute;bottom:-24px;left:-24px;width:130px;height:130px;background:radial-gradient(circle,rgba(92,156,230,.1) 0%,transparent 70%);pointer-events:none}
.ww-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}
.ww-location{display:flex;align-items:center;gap:5px;font-size:10px;font-weight:700;letter-spacing:1.8px;text-transform:uppercase;opacity:.65;color:#a8d4ff}
.ww-date{font-size:10px;opacity:.45;letter-spacing:.5px}
.ww-main{display:flex;align-items:center;gap:4px;margin-bottom:20px}
.ww-icon-wrap{flex-shrink:0}
.ww-svg-icon{width:80px;height:80px;filter:drop-shadow(0 4px 16px rgba(0,0,0,.25))}
.ww-temp-wrap{flex:1;padding-left:8px}

/* TABS */
.tab-nav{display:flex;gap:0;border-bottom:1px solid var(--gray-200);margin-bottom:18px}
.tab-btn{padding:9px 16px;font-family:var(--font-head);font-size:11px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--gray-500);background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:var(--transition);margin-bottom:-1px;white-space:nowrap}
.tab-btn:hover{color:var(--gray-900)}
.tab-btn.active{color:var(--red);border-bottom-color:var(--red)}
.tab-pane{display:none}
.tab-pane.active{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}

/* TAGS */
.tag{display:inline-block;padding:4px 12px;font-family:var(--font-head);font-size:11px;font-weight:600;color:var(--gray-700);background:var(--gray-100);border:1px solid var(--gray-200);border-radius:var(--radius-sm);transition:var(--transition);cursor:pointer}
.tag:hover{background:var(--gray-900);color:#fff;border-color:var(--gray-900);transform:translateY(-1px)}

/* OPINION */
.opinion-card{display:flex;gap:14px;padding:16px 0;border-bottom:1px solid var(--gray-150);transition:var(--transition)}
.opinion-card:last-child{border-bottom:none}
.opinion-card:hover{padding-left:6px}
.opinion-avatar{width:48px;height:48px;border-radius:50%;object-fit:cover;flex-shrink:0;box-shadow:var(--shadow-sm);border:2px solid var(--white)}
.opinion-meta{font-family:var(--font-head);font-size:11px;font-weight:500;color:var(--gray-500);margin-bottom:4px}
.opinion-meta strong{color:var(--gray-900);font-weight:700}
.opinion-card h4{font-family:var(--font-np),var(--font-head);font-size:15px;font-weight:700;line-height:1.3;margin-bottom:4px;transition:var(--transition)}
.opinion-card h4:hover{color:var(--red);cursor:pointer}
.opinion-card p{font-size:13px;color:var(--gray-600);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-style:italic}

/* GALLERY */
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}
.gallery-item{aspect-ratio:1;overflow:hidden;position:relative;cursor:pointer}
.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.4,0,.2,1)}
.gallery-item:hover img{transform:scale(1.08)}
.gallery-overlay{position:absolute;inset:0;background:rgba(12,11,11,.5);opacity:0;transition:var(--transition);display:flex;align-items:center;justify-content:center;color:#fff;font-size:20px}
.gallery-item:hover .gallery-overlay{opacity:1}

/* SEARCH OVERLAY */
#search-overlay{position:fixed;inset:0;background:rgba(253,252,251,.97);backdrop-filter:blur(24px);z-index:9999;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding-top:120px;opacity:0;pointer-events:none;transition:opacity .25s ease}
#search-overlay.open{opacity:1;pointer-events:all}
.search-form{width:100%;max-width:620px;position:relative}
.search-form input{width:100%;padding:18px 64px 18px 0;font-size:26px;background:transparent;border:none;border-bottom:2px solid var(--gray-900);font-family:var(--font-np),var(--font-body);outline:none;color:var(--gray-900);transition:var(--transition)}
.search-form input:focus{border-bottom-color:var(--red)}
.search-form button{position:absolute;right:0;top:0;bottom:0;width:52px;background:none;border:none;color:var(--gray-900);font-size:22px;cursor:pointer}
.search-close{position:absolute;top:32px;right:32px;color:var(--gray-900);font-size:20px;cursor:pointer;background:none;border:none;opacity:.45;transition:var(--transition)}
.search-close:hover{opacity:1;transform:rotate(90deg)}
.search-hints{margin-top:22px;display:flex;gap:8px;flex-wrap:wrap;justify-content:center}
.search-hints span{color:var(--gray-500);font-family:var(--font-head);font-size:11px;font-weight:600;letter-spacing:1px;text-transform:uppercase}
.search-hint-tag{background:var(--cream);color:var(--gray-700);padding:5px 14px;font-family:var(--font-head);font-size:12px;font-weight:500;cursor:pointer;transition:var(--transition);border:1px solid var(--gray-200);border-radius:var(--radius-sm)}
.search-hint-tag:hover{background:var(--gray-900);color:#fff;border-color:var(--gray-900)}

/* ARTICLE */
.article-grid{display:grid;grid-template-columns:1fr 288px;gap:44px;align-items:start}
.breadcrumb{display:flex;align-items:center;gap:5px;font-family:var(--font-head);font-size:10px;font-weight:500;color:var(--gray-500);margin-bottom:8px;padding:4px 0}
.breadcrumb a{color:var(--gray-500);transition:var(--transition)}.breadcrumb a:hover{color:var(--red)}.breadcrumb i{font-size:7px;opacity:.6}
.article-category{display:none}
.article-title{font-family:var(--font-np),var(--font-serif);font-size:36px;font-weight:900;line-height:1.2;color:var(--gray-900);margin-bottom:18px;letter-spacing:-.4px}
.article-subtitle{font-family:var(--font-np),var(--font-elegant);font-size:18px;color:var(--gray-600);font-style:italic;line-height:1.75;margin-bottom:22px;padding-left:18px;border-left:3px solid var(--red)}
.article-meta{display:flex;align-items:center;gap:10px;font-family:var(--font-head);font-size:14px;font-weight:500;color:var(--gray-500);padding:10px 0;margin-bottom:14px}
.article-meta .author{display:flex;align-items:center;gap:10px;flex:1;min-width:0;flex-wrap:wrap}
.article-meta .author img{width:40px;height:40px;border-radius:50%;object-fit:cover;box-shadow:var(--shadow-sm);border:2px solid var(--white);flex-shrink:0}
.article-meta .author strong{font-size:15px;color:var(--gray-800);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:180px}
.art-meta-sep{color:rgba(0,0,0,.2);font-size:12px;flex-shrink:0}
body.dark-mode .art-meta-sep{color:rgba(255,255,255,.15)}
.art-meta-item{display:inline-flex;align-items:center;gap:5px;font-size:13px;color:var(--gray-500);white-space:nowrap}
.art-meta-item i{font-size:13px;opacity:.65}
.article-meta .author-designation{font-size:13px;font-weight:500;color:var(--gray-500)}
.share-bar{display:flex;gap:6px;margin-bottom:22px;flex-wrap:wrap}
.share-btn{display:flex;align-items:center;gap:5px;padding:8px 15px;font-family:var(--font-head);font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;cursor:pointer;border:none;color:#fff;transition:var(--transition);border-radius:var(--radius-sm)}
.share-fb{background:#1877f2}.share-tw{background:#000}.share-wa{background:#25d366}
.share-btn:hover{opacity:.85;transform:translateY(-1px);box-shadow:var(--shadow-sm)}
.share-copy{background:var(--gray-200);color:var(--gray-700)}
.article-featured-img{position:relative;margin-bottom:8px;overflow:hidden;border-radius:var(--radius)}
.article-featured-img img{width:100%;max-height:520px;object-fit:cover;transition:transform .6s ease}
.article-featured-img:hover img{transform:scale(1.01)}
.img-caption{font-family:var(--font-head);font-size:11px;font-weight:500;color:var(--gray-500);font-style:italic;padding:7px 0;margin-bottom:22px}
.article-body{font-family:var(--font-np),var(--font-body);font-size:19px;line-height:1.95;color:#1a1a1a;font-weight:400;letter-spacing:.01em}
/* First paragraph slightly larger like cybernews */
.article-body>p:first-of-type{font-size:21px;line-height:2.0;color:#111;font-weight:500}
/* !important overrides TinyMCE inline margin:0 on <p> tags */
.article-body p{margin-bottom:28px!important;margin-top:0!important;line-height:1.95}
.article-body p:last-child{margin-bottom:0!important}
.article-body>div p,.article-body>p{margin-bottom:28px!important;margin-top:0!important}
/* Extra specificity boost to beat Tailwind CDN preflight injection */
div.article-body p,
div.article-body>p,
.article-body p:not(:last-child) {
  margin-bottom: 28px !important;
  margin-top: 0 !important;
}
.article-body h2{font-family:var(--font-np),var(--font-head);font-size:26px;font-weight:800;color:#111;margin:44px 0 16px!important;letter-spacing:-.2px}
.article-body h3{font-family:var(--font-np),var(--font-head);font-size:22px;font-weight:700;color:#111;margin:36px 0 12px!important}
.article-body h4{font-family:var(--font-np),var(--font-head);font-size:20px;font-weight:700;color:#111;margin:28px 0 10px!important}
.article-body blockquote{border-left:4px solid var(--red);padding:20px 26px;margin:36px 0!important;font-style:italic;font-size:20px;color:#444;background:#fafafa;border-radius:0 var(--radius) var(--radius) 0;line-height:1.85}
.article-body blockquote p{margin-bottom:0!important;font-size:20px}
.article-body blockquote cite{display:block;font-family:var(--font-head);font-size:13px;color:var(--gray-500);margin-top:12px;font-style:normal;font-weight:600}
.article-body ul,.article-body ol{padding-left:28px;margin-bottom:28px!important;margin-top:0!important}
.article-body li{margin-bottom:12px!important;line-height:1.95;font-size:19px}
.article-body img{max-width:100%;height:auto;border-radius:var(--radius-sm);margin:8px 0}
.article-body a{color:var(--red);text-decoration:underline;text-decoration-color:rgba(192,29,46,.35);text-underline-offset:2px}
.article-body a:hover{text-decoration-color:var(--red)}
.article-body strong,.article-body b{font-weight:700;color:var(--gray-900)}
.article-body .highlight-box{background:var(--cream);border-left:3px solid var(--red);padding:18px 22px;margin:28px 0!important;font-size:15px;border-radius:0 var(--radius) var(--radius) 0}
.article-body .highlight-box strong{color:var(--red);font-family:var(--font-head);font-size:9px;letter-spacing:2px;display:block;margin-bottom:6px;text-transform:uppercase;font-weight:700}
.article-body .inline-img{margin:22px 0!important}
.article-body .inline-img img{width:100%;border-radius:var(--radius-sm)}
.article-body .inline-img figcaption{font-family:var(--font-head);font-size:11px;color:var(--gray-500);font-style:italic;padding:6px 0}
.article-tags{display:flex;gap:8px;flex-wrap:wrap;margin:26px 0;padding:18px 0;border-top:1px solid var(--gray-200);border-bottom:1px solid var(--gray-200);align-items:center}
.article-tags span{font-family:var(--font-head);font-size:11px;font-weight:700;color:var(--gray-500);text-transform:uppercase;letter-spacing:1px}
.toc{background:var(--cream);border-left:3px solid var(--red);padding:18px;margin:28px 0;border-radius:0 var(--radius) var(--radius) 0}
.toc h4{font-family:var(--font-head);font-size:10px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--gray-900);margin-bottom:12px;display:flex;align-items:center;gap:6px}
.toc ol{padding-left:20px;font-size:14px}
.toc li{margin-bottom:5px}
.toc li a{color:var(--red);font-family:var(--font-head);font-weight:600}
.author-box{padding:22px;margin:26px 0;display:flex;gap:18px;background:var(--cream);border-radius:var(--radius);border:1px solid var(--gray-200)}
.author-box img{width:68px;height:68px;border-radius:50%;object-fit:cover;flex-shrink:0;box-shadow:var(--shadow-md);border:3px solid var(--white)}
.author-box h4{font-family:var(--font-head);font-size:18px;font-weight:700;color:var(--gray-900);margin-bottom:2px}
.author-box .role{color:var(--red);font-family:var(--font-head);font-size:10px;font-weight:700;letter-spacing:1px;text-transform:uppercase;margin-bottom:8px}
.author-box p{font-size:13px;color:var(--gray-600);line-height:1.65}
.author-social{display:flex;gap:10px;margin-top:12px}
.author-social a{color:var(--gray-400);font-size:15px;transition:var(--transition);width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:1px solid var(--gray-200);border-radius:var(--radius-sm)}
.author-social a:hover{color:var(--red);border-color:var(--red);background:var(--red-subtle)}
/* ── COMMENTS ── */
.cmts{margin-top:44px;padding-top:28px;border-top:2px solid var(--gray-200)}

/* Header */
.cmts-head{display:flex;align-items:center;gap:10px;margin-bottom:20px}
.cmts-title{font-family:var(--font-np),var(--font-head);font-size:17px;font-weight:800;color:var(--gray-900);display:flex;align-items:center;gap:8px}
.cmts-title i{font-size:15px;color:var(--red)}
.cmts-count{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:22px;padding:0 7px;background:var(--gray-100);border-radius:20px;font-family:var(--font-head);font-size:11px;font-weight:700;color:var(--gray-600)}

/* Alerts */
.cmts-alert{display:flex;align-items:center;gap:9px;padding:11px 14px;border-radius:var(--radius-sm);font-size:13.5px;font-weight:500;margin-bottom:16px}
.cmts-ok{background:rgba(16,185,129,.06);border:1px solid rgba(16,185,129,.2);color:#065f46}
.cmts-ok i{color:#10b981}
.cmts-err{background:rgba(192,29,46,.05);border:1px solid rgba(192,29,46,.18);color:#9a1522}
.cmts-err i{color:var(--red)}

/* Form wrapper */
.cmts-form-wrap{background:var(--cream);border:1px solid var(--gray-150);border-radius:var(--radius);padding:18px;margin-bottom:24px}
.cmts-form-header{display:flex;align-items:center;gap:10px;margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid var(--gray-200)}
.cmts-form-avatar{width:36px;height:36px;border-radius:50%;object-fit:cover;flex-shrink:0;border:2px solid var(--white);box-shadow:var(--shadow-sm)}
.cmts-form-name{font-size:14px;font-weight:700;color:var(--gray-900)}
.cmts-form-as{font-size:11px;color:var(--gray-500);font-weight:500;margin-top:1px}

/* Guest notice */
.cmts-guest-bar{display:flex;align-items:center;gap:9px;padding:10px 12px;background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-sm);font-size:13px;color:var(--gray-600);margin-bottom:12px}
.cmts-guest-ico{color:var(--gray-400);font-size:12px;flex-shrink:0}
.cmts-guest-bar a{color:var(--red);font-weight:700;transition:color var(--transition)}
.cmts-guest-bar a:hover{color:var(--red-dark)}

/* Textarea + inputs */
.cmts-textarea{width:100%;padding:11px 14px;border:1.5px solid var(--gray-200);border-radius:var(--radius-sm);font-family:var(--font-np),var(--font-body);font-size:14px;line-height:1.6;resize:vertical;min-height:90px;outline:none;background:var(--white);color:var(--gray-900);transition:border-color var(--transition),box-shadow var(--transition)}
.cmts-textarea:focus{border-color:var(--gray-700);box-shadow:0 0 0 3px rgba(20,18,16,.05)}
.cmts-form-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}
.cmts-input{padding:10px 13px;border:1.5px solid var(--gray-200);border-radius:var(--radius-sm);font-family:var(--font-body);font-size:14px;outline:none;width:100%;background:var(--white);color:var(--gray-900);transition:border-color var(--transition),box-shadow var(--transition)}
.cmts-input:focus{border-color:var(--gray-700);box-shadow:0 0 0 3px rgba(20,18,16,.05)}
.cmts-input::placeholder,.cmts-textarea::placeholder{color:var(--gray-300)}

/* Footer row */
.cmts-form-footer{display:flex;align-items:center;justify-content:space-between;margin-top:10px}
.cmts-char-hint{font-size:11px;color:var(--gray-400);font-family:var(--font-head);font-weight:500}
.cmts-btn{display:inline-flex;align-items:center;gap:7px;padding:9px 18px;background:var(--gray-900);color:#fff;border:none;border-radius:var(--radius-sm);font-family:var(--font-head);font-size:12px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;cursor:pointer;transition:background var(--transition),box-shadow var(--transition),transform var(--transition)}
.cmts-btn:hover{background:var(--red);box-shadow:var(--shadow-red);transform:translateY(-1px)}
.cmts-btn:active{transform:translateY(0)}

/* Comment list */
.cmts-list{display:flex;flex-direction:column;gap:0}
.cmt{display:flex;gap:12px;padding:16px 0;border-bottom:1px solid var(--gray-150);animation:cmtFade .25s ease both}
@keyframes cmtFade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
.cmt:last-child{border-bottom:none}
.cmt-avatar{width:34px;height:34px;border-radius:50%;object-fit:cover;flex-shrink:0;border:2px solid var(--white);box-shadow:var(--shadow-sm);margin-top:1px}
.cmt-body{flex:1;min-width:0}
.cmt-meta{display:flex;align-items:center;gap:5px;margin-bottom:5px;flex-wrap:wrap}
.cmt-name{font-family:var(--font-head);font-size:13px;font-weight:700;color:var(--gray-900)}
.cmt-dot{color:var(--gray-300);font-size:12px}
.cmt-time{font-family:var(--font-head);font-size:11px;color:var(--gray-500);font-weight:500}
.cmt-text{font-size:13.5px;color:var(--gray-700);line-height:1.6}
.cmt-actions{display:flex;align-items:center;gap:2px;margin-top:8px}
.cmt-act{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;background:none;border:1px solid var(--gray-150);border-radius:20px;font-family:var(--font-head);font-size:11px;font-weight:600;color:var(--gray-500);cursor:pointer;transition:all var(--transition)}
.cmt-act:hover{background:var(--gray-100);border-color:var(--gray-300);color:var(--gray-800)}
.cmt-act i{font-size:11px}

/* Empty state */
.cmts-empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:32px 20px;color:var(--gray-400);text-align:center}
.cmts-empty i{font-size:28px;opacity:.4}
.cmts-empty span{font-size:13px;font-weight:600}

/* Dark mode */
body.dark-mode .cmts{border-color:#2a2826}
body.dark-mode .cmts-count{background:#252220;color:#8e8880}
body.dark-mode .cmts-form-wrap{background:#161412;border-color:#2a2826}
body.dark-mode .cmts-form-header{border-color:#2a2826}
body.dark-mode .cmts-form-name{color:#f1ede9}
body.dark-mode .cmts-textarea,body.dark-mode .cmts-input{background:#0d0b0a;border-color:#2a2826;color:#e8e6e3}
body.dark-mode .cmts-textarea:focus,body.dark-mode .cmts-input:focus{border-color:#555;box-shadow:0 0 0 3px rgba(255,255,255,.04)}
body.dark-mode .cmts-guest-bar{background:#161412;border-color:#2a2826}
body.dark-mode .cmt{border-color:#2a2826}
body.dark-mode .cmt-name{color:#f1ede9}
body.dark-mode .cmt-text{color:#b8b3ae}
body.dark-mode .cmt-act{border-color:#2a2826;color:#6b6560}
body.dark-mode .cmt-act:hover{background:#1e1c1a;border-color:#3a3836;color:#ccc7c2}

/* Responsive */
@media(max-width:480px){
  .cmts-form-row{grid-template-columns:1fr}
  .cmts-form-wrap{padding:14px}
  .cmts-form-footer{flex-direction:column;align-items:flex-start;gap:8px}
  .cmts-btn{width:100%;justify-content:center}
}
.related-section{margin:30px 0}
.related-section h3{font-family:var(--font-np),var(--font-head);font-size:16px;font-weight:700;margin-bottom:16px;padding-bottom:12px;color:var(--gray-900);position:relative}
.related-section h3::after{content:'';position:absolute;bottom:0;left:0;width:40px;height:2px;background:var(--red);border-radius:1px}
.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.related-card{overflow:hidden;transition:all .3s cubic-bezier(.4,0,.2,1);border:1px solid rgba(0,0,0,.06);border-radius:14px;box-shadow:0 1px 3px rgba(0,0,0,.04)}
.related-card:hover{border-color:rgba(0,0,0,.1);box-shadow:0 10px 32px rgba(0,0,0,.08);transform:translateY(-3px)}
.related-card .card-img-wrap{overflow:hidden}
.related-card img{width:100%;height:130px;object-fit:cover;transition:transform .5s ease}
.related-card:hover img{transform:scale(1.06)}
.related-card .info{padding:12px 14px}
.related-card h4{font-family:var(--font-np),var(--font-head);font-size:14px;font-weight:700;line-height:1.38;color:var(--gray-900);transition:color .2s}
.related-card h4:hover{color:var(--red)}
.related-card .meta{font-family:var(--font-head);font-size:10px;font-weight:500;color:var(--gray-500);margin-top:5px}
/* Related compact list — matches widget-list square style */
.related-compact-list{display:flex;flex-direction:column;gap:0}
.related-compact-card{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid var(--gray-150);text-decoration:none;transition:background .2s}
.related-compact-card:last-child{border-bottom:none}
.related-compact-card:hover{background:var(--gray-100);padding-left:6px;padding-right:6px;border-radius:6px}
.related-compact-img{flex-shrink:0;width:72px;height:72px;overflow:hidden;border-radius:4px}
.related-compact-img img{width:72px;height:72px;object-fit:cover;display:block}
.related-compact-info{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center}
.related-compact-info h4{font-family:var(--font-np),var(--font-head);font-size:14px;font-weight:700;line-height:1.4;color:var(--gray-900);margin:0 0 6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.related-compact-card:hover h4{color:var(--red)}
.related-compact-meta{font-size:11px;color:var(--gray-400);display:flex;gap:10px;align-items:center}
.related-compact-meta i{font-size:10px}
@media(max-width:480px){
  .related-compact-img{width:80px;height:80px}
  .related-compact-img img{width:80px;height:80px}
  .related-compact-info h4{font-size:15px;-webkit-line-clamp:3}
  .related-compact-card{padding:10px 0;gap:10px}
  .related-compact-meta{font-size:12px}
}

/* PAGE HEADER */
.page-header{background:linear-gradient(135deg,var(--gray-900) 0%,#1E1916 100%);padding:28px 0;margin-bottom:32px;position:relative;overflow:hidden}
.page-header::before{content:'';position:absolute;top:0;right:0;width:300px;height:100%;background:linear-gradient(135deg,transparent 0%,var(--red-glow) 100%);pointer-events:none}
.page-header h1{font-family:var(--font-np),var(--font-head);font-size:30px;font-weight:800;color:#fff;letter-spacing:-.3px}
.page-header p{color:rgba(255,255,255,.45);font-family:var(--font-head);font-size:12px;font-weight:500;margin-top:5px}
.pagination{display:flex;justify-content:center;gap:4px;margin:32px 0;flex-wrap:wrap}
.pagination a{padding:8px 15px;color:var(--gray-700);font-family:var(--font-head);font-weight:600;font-size:13px;border:1px solid var(--gray-200);transition:var(--transition);border-radius:var(--radius-sm)}
.pagination a:hover,.pagination a.active{background:var(--gray-900);color:#fff;border-color:var(--gray-900);box-shadow:var(--shadow-sm)}

/* FOOTER */
#footer{background:linear-gradient(180deg,#0F0D0C 0%,#0C0B0B 100%);color:var(--gray-500);margin-top:56px;border-top:1px solid rgba(255,255,255,.06)}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;padding:48px 0 36px;border-bottom:1px solid rgba(255,255,255,.06)}
.footer-about .footer-logo{font-family:var(--font-np),var(--font-head);font-size:30px;font-weight:800;color:var(--red);margin-bottom:12px;text-shadow:0 2px 12px rgba(192,29,46,.3)}
.footer-about p{font-size:13px;line-height:1.75;margin-bottom:18px}
.footer-social{display:flex;gap:8px}
.footer-social a{width:34px;height:34px;display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.3);font-size:13px;transition:var(--transition);border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-sm)}
.footer-social a:hover{color:#fff;border-color:rgba(255,255,255,.25);background:rgba(255,255,255,.06)}
.footer-col h4{font-family:var(--font-head);font-size:10px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,.25);margin-bottom:16px}
.footer-col ul{list-style:none}
.footer-col ul li{font-size:13px;padding:4px 0}
.footer-col ul li a{color:var(--gray-500);transition:var(--transition)}
.footer-col ul li a:hover{color:#fff;padding-left:4px}
.footer-bottom{text-align:center;padding:18px 0;font-family:var(--font-head);font-size:11px;font-weight:500;color:rgba(255,255,255,.18)}
.footer-bottom a{color:var(--gray-500)}
div.newsletter-row-footer{padding:22px 0;border-bottom:1px solid rgba(255,255,255,.06);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:18px}
.newsletter-form{display:flex;gap:0}
.newsletter-form input[type="email"]{padding:11px 16px;border:1px solid rgba(255,255,255,.1);border-right:none;border-radius:var(--radius-sm) 0 0 var(--radius-sm);font-family:var(--font-body);font-size:13px;width:220px;outline:none;background:rgba(255,255,255,.05);color:#fff;transition:var(--transition)}
.newsletter-form input[type="email"]::placeholder{color:rgba(255,255,255,.3)}
.newsletter-form input[type="email"]:focus{border-color:rgba(255,255,255,.25);background:rgba(255,255,255,.08)}
.newsletter-form button{background:var(--red);color:#fff;border:none;border-radius:0 var(--radius-sm) var(--radius-sm) 0;padding:11px 20px;font-family:var(--font-head);font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase;cursor:pointer;transition:var(--transition)}
.newsletter-form button:hover{background:var(--red-dark);box-shadow:var(--shadow-red)}

/* PROGRESS + BACK TOP */
#progress-bar{position:fixed;top:0;left:0;height:2px;background:linear-gradient(90deg,var(--red),#ff6b6b);z-index:9998;width:0%;transition:width .1s;box-shadow:0 0 8px rgba(192,29,46,.5)}
#back-top{position:fixed;bottom:28px;right:28px;width:44px;height:44px;background:var(--gray-900);color:#fff;border:none;font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transform:translateY(12px);transition:opacity .3s ease,transform .3s ease,background .2s ease;z-index:1000;border-radius:var(--radius-sm);box-shadow:var(--shadow-md)}
#back-top.visible{opacity:1;transform:translateY(0)}
#back-top:hover{background:var(--red);box-shadow:var(--shadow-red);transform:translateY(-2px)}

/* ANIMATIONS */
/* Sections are VISIBLE by default. JS adds .js-animate to hide, then .visible to reveal with stagger */
@keyframes fadeInUp{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
.animate{/* visible by default — safe fallback */}
.animate.js-hide{opacity:0;transform:translateY(18px);transition:opacity .45s cubic-bezier(.4,0,.2,1),transform .45s cubic-bezier(.4,0,.2,1)}
.animate.js-hide.visible{opacity:1;transform:translateY(0)}

/* DARK MODE */
body.dark-mode{background:#111;--white:#1a1918;--cream:#161514;--gray-100:#1e1d1c;--gray-200:#2a2826;--gray-150:#222120;--gray-900:#e8e6e3;--gray-800:#c0bbb6}
body.dark-mode #header{background:rgba(20,18,16,.97);border-color:#2a2826}
body.dark-mode #navbar{background:#1a1918;border-color:#2a2826}
body.dark-mode .card,.dark-mode .related-card{border-color:rgba(255,255,255,.06);background:#1a1918;box-shadow:0 1px 3px rgba(0,0,0,.2)}
body.dark-mode .card:hover,.dark-mode .related-card:hover{border-color:rgba(255,255,255,.12);box-shadow:0 12px 40px rgba(0,0,0,.3)}
body.dark-mode .card-h:hover{background:linear-gradient(90deg,#1e1d1c,transparent)}
body.dark-mode .article-body{color:#b8b3ae}
body.dark-mode .card-footer{background:rgba(22,21,20,.8);border-top-color:rgba(255,255,255,.04)}
body.dark-mode .card-footer .card-author-name{color:#bbb}
body.dark-mode .card-footer .card-author img{border-color:#333}
body.dark-mode .card-footer-badge{opacity:1!important}
body.dark-mode .card-cat-text{opacity:.85}
body.dark-mode .card .card-img-wrap::after{background:linear-gradient(180deg,transparent 50%,rgba(26,25,24,.18) 75%,rgba(26,25,24,.72) 90%,var(--white) 100%)}
body.dark-mode .card-h .info .meta .ch-author img{border:1px solid #333}
body.dark-mode #search-overlay{background:rgba(17,16,15,.97)}
body.dark-mode .search-form input{color:#e8e6e3;border-color:#444}

/* SPORTS */
.sh-pill{display:inline-flex;align-items:center;gap:6px;padding:7px 15px;font-family:var(--font-head);font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;border:1px solid var(--gray-200);background:transparent;cursor:pointer;transition:var(--transition);color:var(--gray-600);border-radius:var(--radius-sm)}
.sh-pill.active{background:var(--gray-900);color:#fff;border-color:var(--gray-900);box-shadow:var(--shadow-sm)}
.sh-pill:hover{border-color:var(--gray-400);color:var(--gray-900)}
.sh-pills{display:flex;gap:6px;flex-wrap:wrap}
.sp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(285px,1fr));gap:14px}
.sp-section .sh-loading{grid-column:1/-1;text-align:center;padding:48px;color:var(--gray-500);font-size:13px}
.live-dot{display:inline-block;width:8px;height:8px;background:var(--red);border-radius:50%;margin-right:6px;animation:blink 1s infinite;box-shadow:0 0 6px rgba(192,29,46,.5)}
.sh-card{background:var(--white);border:1px solid var(--gray-200);overflow:hidden;transition:var(--transition);border-radius:var(--radius);box-shadow:var(--shadow-xs)}
.sh-card:hover{border-color:var(--gray-300);box-shadow:var(--shadow-md);transform:translateY(-1px)}
.sh-card.is-live{border-left:3px solid var(--red)}
.sh-strip{display:flex;align-items:center;justify-content:space-between;padding:8px 14px;font-family:var(--font-head);font-size:10px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;color:var(--gray-500);border-bottom:1px solid var(--gray-100)}
.sh-strip-icc,.sh-strip-epl{background:var(--cream)}
.sh-status{font-weight:700;color:var(--gray-500);display:flex;align-items:center;gap:4px}
.sh-live-dot{display:inline-block;width:6px;height:6px;background:var(--red);border-radius:50%;animation:blink 1s infinite;box-shadow:0 0 5px rgba(192,29,46,.5)}
.sh-body{padding:15px}
.sh-vs{display:flex;align-items:center;justify-content:space-between;padding:4px 0}
.sh-team{display:flex;align-items:center;gap:8px}
.sh-flag{width:24px;height:18px;object-fit:cover}
.sh-crest{width:22px;height:22px;object-fit:contain}
.sh-flag-fb{width:24px;height:18px;display:flex;align-items:center;justify-content:center;font-family:var(--font-head);font-size:9px;font-weight:800;background:var(--gray-200);color:var(--gray-600);border-radius:2px}
.sh-tname{font-family:var(--font-head);font-size:13px;font-weight:600;color:var(--gray-800)}
.sh-tname.winner{font-weight:800;color:var(--gray-900)}
.sh-tscore{font-family:var(--font-head);font-size:17px;font-weight:800;color:var(--gray-800)}
.sh-tscore.winner{color:var(--gray-900)}
.sh-tscore.pending{color:var(--gray-400);font-size:14px}
.sh-emblem{font-family:var(--font-head);font-size:10px;font-weight:600;color:var(--gray-400);text-transform:uppercase}
.sh-divider{height:1px;background:var(--gray-150);margin:8px 0}
.sh-result{font-family:var(--font-head);font-size:11px;font-weight:600;color:var(--gray-500);display:flex;align-items:center;gap:4px}
.sh-result i{font-size:10px}
.sh-schedule{font-family:var(--font-head);font-size:11px;font-weight:500;color:var(--gray-500);display:flex;align-items:center;gap:4px}
.league-table{width:100%;border-collapse:collapse;font-family:var(--font-head);font-size:13px}
.league-table thead tr{border-bottom:2px solid var(--gray-200)}
.league-table th{padding:9px 12px;text-align:left;font-size:10px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--gray-500)}
.league-table td{padding:9px 12px;border-bottom:1px solid var(--gray-150);color:var(--gray-700)}
.league-table .rank{font-weight:800;color:var(--gray-400)}
.league-table .team-name{font-weight:600;color:var(--gray-900);display:flex;align-items:center}
.league-table .pts{font-weight:800;color:var(--gray-900)}
.zone-ucl{background:rgba(26,82,168,.04)}
.zone-rel{background:rgba(192,29,46,.04)}
@media(max-width:640px){.sp-grid{grid-template-columns:1fr}}

/* ADMIN */
.admin-layout{display:flex;min-height:100vh}
.admin-sidebar{width:248px;background:var(--gray-900);color:#fff;flex-shrink:0;position:sticky;top:0;height:100vh;overflow-y:auto}
.admin-sidebar .brand{padding:22px;border-bottom:1px solid rgba(255,255,255,.08);font-family:var(--font-np),var(--font-head);font-size:20px;font-weight:800;color:var(--red)}
.admin-sidebar .brand small{display:block;font-family:var(--font-head);font-size:9px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,.3);margin-top:3px}
.admin-sidebar nav a{display:flex;align-items:center;gap:10px;padding:12px 22px;color:rgba(255,255,255,.45);font-family:var(--font-head);font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;transition:var(--transition);border-left:3px solid transparent}
.admin-sidebar nav a:hover,.admin-sidebar nav a.active{color:#fff;background:rgba(255,255,255,.05);border-left-color:var(--red)}
.admin-sidebar nav a i{width:16px;text-align:center;font-size:13px}
.admin-main{flex:1;padding:32px;background:var(--cream);overflow-y:auto}
.admin-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px}
.admin-header h1{font-family:var(--font-head);font-size:24px;font-weight:700;color:var(--gray-900)}
.stat-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:28px}
.stat-card{background:var(--white);padding:22px;border:1px solid var(--gray-200);border-radius:var(--radius);box-shadow:var(--shadow-sm);transition:var(--transition)}
.stat-card:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}
.stat-card .label{font-family:var(--font-head);font-size:10px;font-weight:700;color:var(--gray-500);letter-spacing:1.5px;text-transform:uppercase}
.stat-card .value{font-family:var(--font-head);font-size:36px;font-weight:800;color:var(--gray-900);margin-top:4px;line-height:1}
.stat-card .change{font-family:var(--font-head);font-size:12px;font-weight:600;color:var(--green);margin-top:4px}
.data-table{width:100%;background:var(--white);border:1px solid var(--gray-200);overflow:hidden;border-radius:var(--radius);box-shadow:var(--shadow-sm)}
.data-table table{width:100%;border-collapse:collapse}
.data-table th{background:var(--gray-900);color:#fff;padding:13px 16px;text-align:left;font-family:var(--font-head);font-size:10px;font-weight:700;letter-spacing:1px;text-transform:uppercase}
.data-table td{padding:13px 16px;border-bottom:1px solid var(--gray-100);font-size:14px;color:var(--gray-700);vertical-align:middle}
.data-table tr:last-child td{border-bottom:none}
.data-table tr:hover td{background:var(--cream)}
.btn{display:inline-flex;align-items:center;gap:6px;padding:9px 18px;font-family:var(--font-head);font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase;cursor:pointer;border:none;transition:var(--transition);border-radius:var(--radius-sm)}
.btn-primary{background:var(--gray-900);color:#fff;box-shadow:var(--shadow-sm)}.btn-primary:hover{background:var(--black);box-shadow:var(--shadow-md);transform:translateY(-1px)}
.btn-secondary{background:var(--gray-200);color:var(--gray-700)}.btn-secondary:hover{background:var(--gray-300)}
.btn-danger{background:var(--red);color:#fff}.btn-danger:hover{background:var(--red-dark);box-shadow:var(--shadow-red)}
.btn-sm{padding:5px 11px;font-size:10px}
.form-group{margin-bottom:18px}
.form-group label{display:block;font-family:var(--font-head);font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--gray-600);margin-bottom:7px}
.form-group input,.form-group select,.form-group textarea{width:100%;padding:11px 14px;border:1px solid var(--gray-200);border-radius:var(--radius-sm);font-family:var(--font-np),var(--font-body);font-size:14px;outline:none;transition:var(--transition);background:var(--white)}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--gray-700);box-shadow:0 0 0 3px rgba(20,18,16,.06)}
.form-group textarea{resize:vertical;min-height:120px}
.alert{padding:13px 16px;margin-bottom:18px;font-size:14px;font-family:var(--font-head);font-weight:600;border-radius:var(--radius-sm)}
.alert-success{background:#EBF5EE;border-left:3px solid var(--green);color:#1B5E20}
.alert-error{background:#FFF0F0;border-left:3px solid var(--red);color:#7D0C18}

/* RESPONSIVE */
.hide-sm{display:inline}
.show-sm{display:none}
.hamburger{display:none;background:none;border:none;cursor:pointer;padding:6px;flex-direction:column;gap:5px;z-index:10}
.hamburger span{display:block;width:22px;height:2px;background:var(--gray-900);transition:var(--transition);border-radius:1px}
.mobile-nav-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:9990;opacity:0;transition:opacity .3s}
.mobile-nav-overlay.open{display:block;opacity:1}
.mobile-nav{position:fixed;top:0;left:-300px;width:280px;height:100%;background:var(--white);z-index:9991;overflow-y:auto;transition:transform .3s ease;box-shadow:var(--shadow-xl)}
.mobile-nav.open{transform:translateX(300px)}
.mobile-nav-header{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid var(--gray-200)}
.mobile-nav-logo{font-family:var(--font-np);font-size:24px;font-weight:900;color:var(--red)}
.mobile-nav-close{background:none;border:none;font-size:18px;color:var(--gray-600);cursor:pointer;padding:4px}
.mobile-nav-user{display:flex;align-items:center;gap:10px;padding:16px 22px;background:var(--cream);border-bottom:1px solid var(--gray-200)}

@media(max-width:1024px){
  .main-grid{grid-template-columns:1fr 260px;gap:32px}
  .article-grid{grid-template-columns:1fr 260px}
  .footer-grid{grid-template-columns:1fr 1fr;gap:28px}
  .stat-cards{grid-template-columns:repeat(2,1fr)}
}

@media(max-width:768px){
  .container{padding:0 18px}
  .main-grid{grid-template-columns:1fr}
  .article-grid{grid-template-columns:1fr}
  .hero-grid{grid-template-columns:1fr;grid-template-rows:auto}
  .hero-main{grid-row:auto}
  .hero-main img{height:300px}
  .hero-side img{height:180px}
  .grid-3{grid-template-columns:repeat(2,1fr)}
  .related-grid{grid-template-columns:repeat(2,1fr)}
  .hide-sm{display:none}
  .show-sm{display:block}
  .hamburger{display:flex}
  #navbar{display:none}
  .header-ad{display:none}
  .header-actions{gap:4px}
  .btn-search{padding:7px 10px;font-size:12px}
  .btn-search span{display:none}
  .btn-login{padding:6px 10px;font-size:11px}
  .prov-grid{grid-template-columns:1fr 1fr}
  .admin-layout{flex-direction:column}
  .admin-sidebar{width:100%;height:auto;position:static}
  .auth-wrapper{padding:24px 0}
  .tab-pane{grid-template-columns:1fr!important}
  .filter-pills{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:4px}
  .filter-pills::-webkit-scrollbar{display:none}
}

@media(max-width:640px){
  .container{padding:0 16px}
  #main{padding:20px 0}
  .hero-main img{height:220px}
  .hero-side{display:none}
  .card img{height:180px}
  .grid-2{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}
  .related-grid{grid-template-columns:1fr}
  .page-header{padding:18px 0;margin-bottom:22px}
  .page-header h1{font-size:22px}
  .province-hero{padding:20px}
  .province-title{font-size:24px}
  .province-listing-header h1{font-size:24px}
  .prov-grid{grid-template-columns:1fr}
  .sp-page-header{flex-direction:column;align-items:flex-start}
  .sp-page-title{font-size:24px}
  .sh-pills{width:100%;overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch}
  .sp-grid{grid-template-columns:1fr}
  .newsletter-row-footer{flex-direction:column;text-align:center}
  .newsletter-form{width:100%}
  .newsletter-form input[type="email"]{width:100%;border-right:none}
  .article-meta{gap:10px}
  .author-box{flex-direction:column;align-items:center;text-align:center}
  .opinion-card{flex-direction:column}
  .opinion-avatar{align-self:flex-start}
  .search-inline{max-width:100%}
  .stat-cards{grid-template-columns:1fr}
}

@media(max-width:480px){
  .grid-3,.grid-4{grid-template-columns:1fr}
  .gallery-grid{grid-template-columns:repeat(2,1fr)}
  .comment-form .form-row{grid-template-columns:1fr}
  .article-title{font-size:24px}
  .article-subtitle{font-size:15px;padding-left:12px}
  .article-body{font-size:15px;line-height:1.85}
  .article-body p{margin-bottom:18px!important}
  .article-body h2{font-size:19px;margin:24px 0 10px!important}
  .article-body h3{font-size:16px;margin:20px 0 8px!important}
  .article-featured-img img{max-height:240px}
  .share-bar{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .share-btn{justify-content:center;width:100%;font-size:12px;padding:10px 8px}
  .article-meta{gap:6px;font-size:11px}
  .article-meta .author img{width:28px;height:28px}
  .art-meta-sep{display:none}
  .art-meta-item{font-size:10px}
  .article-tags{gap:6px}
  .breadcrumb{font-size:10px;gap:4px}
  .tab-nav{overflow-x:auto;scrollbar-width:none;flex-wrap:nowrap}
  .tab-nav::-webkit-scrollbar{display:none}
  .tab-btn{white-space:nowrap;flex-shrink:0;padding:8px 12px;font-size:11px}
  .card-h img{width:86px;height:64px;border-radius:8px}
  .card-h .info h4{font-size:13px}
  .trending-item img{width:58px;height:44px}
  .trend-info h5{font-size:12px}
  .ww-temp{font-size:32px}
  #search-overlay{padding-top:80px}
  .search-form input{font-size:20px}
  .footer-social a{width:36px;height:36px;font-size:14px}
  .footer-about .footer-logo{font-size:24px}
  .breadcrumb{font-size:10px;gap:5px;flex-wrap:wrap}
  .pagination a{padding:7px 11px;font-size:12px}
}

@media(max-width:360px){
  .container{padding:0 13px}
  .logo-main{font-size:24px}
  .hero-main img{height:180px}
  .card img{height:165px}
  .card-footer .card-meta-right span:not(.card-cat-text):not(.views){display:none}
  .card-footer-badge{display:none}
  .article-title{font-size:21px}
  .section-title{font-size:15px}
  .mobile-nav{width:270px}
  .header-inner{gap:8px}
  .header-actions{gap:2px}
}

@media(max-width:768px){
  .nav-inner a,.tab-btn,.filter-pill,.pagination a,.share-btn,.tag,.mobile-nav-links a{min-height:44px;display:flex;align-items:center}
  .btn-search,.btn-dark,.btn-user,.btn-login{min-height:36px}
}

/* Dark mode extras */
body.dark-mode .mobile-nav{background:#1a1918;border-color:#333}
body.dark-mode .mobile-nav-header{border-color:#333}
body.dark-mode .mobile-nav-user{background:#111;border-color:#333}
body.dark-mode .mobile-nav-links a:hover{background:#222}
body.dark-mode .mobile-nav-bottom{border-color:#333}
body.dark-mode .mobile-nav-btn{background:#fff;color:#111}
body.dark-mode .mobile-nav-btn-outline{background:transparent;color:#aaa;border-color:#333}
body.dark-mode .user-dropdown{background:#1a1918;border-color:#333}
body.dark-mode .auth-card{background:#1a1918;border-color:#2a2826;}
body.dark-mode .auth-brand{border-color:#2a2826;}
body.dark-mode .auth-brand-title{color:#f1ede9;}
body.dark-mode .auth-brand-sub{color:#6b6560;}
body.dark-mode .auth-input{background:#111;border-color:#2a2826;color:#e8e6e3;}
body.dark-mode .auth-input:focus{background:#1a1918;border-color:var(--red);}
body.dark-mode .auth-foot{border-color:#2a2826;color:#6b6560;}
body.dark-mode .auth-alert-err{background:rgba(192,29,46,.1);border-color:rgba(192,29,46,.25);color:#fca5a5;}
body.dark-mode .comment-as-user,.dark-mode .comment-guest-notice{background:#1e1d1c;border-color:#333}

/* UTILITIES */
.card-img-wrap{overflow:hidden}
.content-area{min-width:0}
.empty-state{text-align:center;padding:64px 20px;color:var(--gray-500)}
.empty-state h2,.empty-state h3{font-family:var(--font-np),var(--font-head);font-size:18px;font-weight:700;color:var(--gray-700);margin-bottom:8px}
.empty-state p{font-size:14px;color:var(--gray-500);margin-bottom:18px}

/* PROVINCE PAGE */
.province-hero{color:#fff;padding:30px;margin-bottom:30px;border-radius:var(--radius-md)}
.province-hero-inner{position:relative}
.province-label{font-family:var(--font-head);font-size:11px;font-weight:600;letter-spacing:1px;text-transform:uppercase;opacity:.8;margin-bottom:6px;display:flex;align-items:center;gap:6px}
.province-title{font-family:var(--font-np);font-size:32px;font-weight:900;margin-bottom:6px}
.province-meta{font-size:13px;opacity:.8}
.province-listing-header{text-align:center;margin-bottom:40px;padding-top:14px}
.province-listing-header h1{font-family:var(--font-np);font-size:32px;font-weight:900;color:var(--gray-900);margin-bottom:8px}
.province-listing-header p{font-family:var(--font-np);font-size:15px;color:var(--gray-600)}
.prov-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px;margin-bottom:44px}
.prov-card{display:block;border:1px solid var(--gray-200);overflow:hidden;transition:var(--transition);border-radius:var(--radius);box-shadow:var(--shadow-xs)}
.prov-card:hover{border-color:var(--gray-300);box-shadow:var(--shadow-md);transform:translateY(-2px)}
.prov-head{color:#fff;padding:22px}
.prov-en{font-family:var(--font-head);font-size:10px;font-weight:600;letter-spacing:1px;text-transform:uppercase;opacity:.7;margin-bottom:4px}
.prov-name{font-family:var(--font-np);font-size:23px;font-weight:800;margin-bottom:7px}
.prov-capital{font-family:var(--font-head);font-size:11px;font-weight:500;opacity:.8;display:flex;align-items:center;gap:4px}
.prov-body{padding:15px}
.prov-stats{margin-bottom:10px}
.prov-stat{font-family:var(--font-head);font-size:12px;font-weight:600;color:var(--gray-600);display:flex;align-items:center;gap:6px}
.prov-stat strong{color:var(--gray-900)}
.prov-stat i{color:var(--gray-400);font-size:11px}
.prov-headlines{border-top:1px solid var(--gray-100);padding-top:10px}
.prov-headline{font-family:var(--font-np),var(--font-head);font-size:13px;font-weight:600;line-height:1.4;color:var(--gray-700);padding:4px 0;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;transition:var(--transition)}
.prov-headline:hover{color:var(--red)}
.prov-empty{font-family:var(--font-head);font-size:12px;color:var(--gray-400);padding:4px 0}

/* SEARCH INLINE */
.search-inline{margin:22px 0;max-width:600px}
.search-inline-form{display:flex;gap:0}
.search-inline-form input{flex:1;padding:12px 18px;border:1px solid var(--gray-200);border-right:none;border-radius:var(--radius-sm) 0 0 var(--radius-sm);font-family:var(--font-np),var(--font-body);font-size:15px;outline:none;transition:var(--transition);background:var(--cream)}
.search-inline-form input:focus{border-color:var(--gray-700);background:var(--white)}
.search-inline-form button{background:var(--gray-900);color:#fff;border:none;border-radius:0 var(--radius-sm) var(--radius-sm) 0;padding:12px 22px;font-family:var(--font-head);font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;cursor:pointer;transition:var(--transition);display:flex;align-items:center;gap:6px}
.search-inline-form button:hover{background:var(--red);box-shadow:var(--shadow-red)}

/* ERROR */
.error-code{font-family:var(--font-head);font-size:52px;font-weight:900;color:var(--red);margin-bottom:8px}

/* ARTICLE CLEANUP */
.author-designation{font-size:11px;color:var(--gray-400)}
.comment-form-title{font-family:var(--font-head);font-size:15px;font-weight:600;margin-bottom:14px;color:var(--gray-800)}
.share-bar-bottom{margin-top:0}
.widget-list-body{padding:0!important}
.widget-list-item{display:flex;gap:10px;padding:11px 15px;border-bottom:1px solid var(--gray-150);transition:var(--transition)}
.widget-list-item:hover{background:var(--gray-100)}
.widget-list-item .card-img-wrap{flex-shrink:0;border-radius:var(--radius-sm);overflow:hidden}
.widget-list-item img{width:72px;height:54px;object-fit:cover}
.widget-list-title{font-family:var(--font-head);font-size:13px;font-weight:600;line-height:1.3;color:var(--gray-900)}
.widget-list-time{font-size:11px;color:var(--gray-400);margin-top:4px}

/* FILTER PILLS */
.filter-pills{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:22px}
.filter-pill{padding:6px 15px;font-family:var(--font-head);font-size:12px;font-weight:600;background:var(--gray-100);color:var(--gray-600);border:1px solid var(--gray-200);transition:var(--transition);white-space:nowrap;border-radius:var(--radius-sm)}
.filter-pill:hover{border-color:var(--gray-400);color:var(--gray-900);background:var(--white)}
.filter-pill.active{background:var(--gray-900);color:#fff;border-color:var(--gray-900);box-shadow:var(--shadow-sm)}

/* HERO LINK */
.hero-overlay h2 a{color:#fff}

/* TAB PANE GRID */
.tab-pane{grid-template-columns:repeat(2,1fr);gap:12px}

/* SPORTS PAGE HEADER */
.sp-page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px;padding-top:8px;flex-wrap:wrap;gap:12px}
.sp-page-title{font-family:var(--font-np);font-size:32px;font-weight:900;color:var(--gray-900);margin-bottom:2px}
.sp-page-meta{font-family:var(--font-head);font-size:13px;color:var(--gray-500);display:flex;align-items:center;gap:4px}
.sp-refresh-btn{background:none;border:1px solid var(--gray-200);padding:5px 14px;font-size:12px;cursor:pointer;margin-left:8px;font-family:var(--font-head);color:var(--gray-600);transition:var(--transition);border-radius:var(--radius-sm)}
.sp-refresh-btn:hover{border-color:var(--gray-400);color:var(--gray-900);background:var(--gray-100)}
.sh-flag-text{display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:800}
.sh-vs-divider{display:flex;align-items:center;gap:8px;margin:6px 0}
.sh-vs-line{flex:1;height:1px;background:var(--gray-200)}
.sh-result-live{color:#22c55e}
.sh-result-live i{font-size:8px}
.table-wrap{overflow-x:auto}
.league-crest{width:20px;height:20px;object-fit:contain;vertical-align:middle;margin-right:8px}
.league-legend{display:flex;gap:16px;margin-top:14px;font-size:11px;color:var(--gray-500);font-family:var(--font-head)}
.legend-dot{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:4px}
.legend-ucl{background:var(--blue)}
.legend-rel{background:var(--red)}

/* SIDEBAR NEWSLETTER */
.sidebar-newsletter{background:linear-gradient(145deg,#141210 0%,#1E1916 100%);color:#fff;padding:22px;text-align:center;border-radius:var(--radius);box-shadow:var(--shadow-lg)}
.sidebar-nl-title{font-family:var(--font-np);font-size:17px;font-weight:700;margin-bottom:5px;color:#fff}
.sidebar-nl-desc{font-size:12px;color:rgba(255,255,255,.35);margin-bottom:16px}
.sidebar-nl-form{display:flex;flex-direction:column;gap:8px}
.sidebar-nl-form input[type="email"]{width:100%;padding:9px 14px;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-sm);background:rgba(255,255,255,.06);color:#fff;font-size:13px;outline:none;transition:var(--transition)}
.sidebar-nl-form input[type="email"]::placeholder{color:rgba(255,255,255,.3)}
.sidebar-nl-form input[type="email"]:focus{border-color:rgba(255,255,255,.25)}
.sidebar-nl-form button{width:100%;background:var(--red);color:#fff;border:none;border-radius:var(--radius-sm);padding:10px;font-family:var(--font-head);font-size:12px;font-weight:700;letter-spacing:1px;cursor:pointer;transition:var(--transition)}
.sidebar-nl-form button:hover{background:var(--red-dark);box-shadow:var(--shadow-red)}

/* FOOTER NEWSLETTER */
.footer-nl-title{font-family:var(--font-np);font-size:17px;font-weight:700;color:#fff;margin-bottom:5px}
.footer-nl-desc{font-size:12px;color:var(--gray-500)}

/* WEATHER */
.weather-temp small{font-size:18px}
.empty-state-lg{padding:88px 20px}

/* ── AUTH / LOGIN ── */
.auth-wrapper{
  padding:40px 0 60px;
  min-height:calc(100vh - 200px);
  display:flex;align-items:center;
}
.auth-card{
  max-width:420px;width:100%;margin:0 auto;
  background:var(--white);
  border:1px solid var(--gray-200);
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow-lg);
  overflow:hidden;
  animation:authRise .35s cubic-bezier(.34,1.56,.64,1) both;
}
@keyframes authRise{
  from{opacity:0;transform:translateY(20px) scale(.97)}
  to{opacity:1;transform:translateY(0) scale(1)}
}
/* Red top accent bar */
.auth-card::before{
  content:'';display:block;
  height:3px;
  background:linear-gradient(90deg,var(--red) 0%,#e84060 50%,var(--red) 100%);
}
.auth-brand{
  padding:28px 32px 22px;
  border-bottom:1px solid var(--gray-150);
}
.auth-brand-title{
  font-family:var(--font-np),var(--font-head);
  font-size:22px;font-weight:800;
  color:var(--gray-900);letter-spacing:-.3px;
  margin-bottom:4px;
}
.auth-brand-sub{
  font-size:13px;color:var(--gray-500);font-weight:500;
}
/* Alert */
.auth-alert{
  display:flex;align-items:center;gap:10px;
  margin:20px 32px 0;
  padding:12px 14px;
  border-radius:var(--radius-sm);
  font-size:13.5px;font-weight:500;line-height:1.45;
}
.auth-alert-err{
  background:rgba(192,29,46,.05);
  border:1px solid rgba(192,29,46,.18);
  color:#9a1522;
}
.auth-alert-err i{color:var(--red);flex-shrink:0;font-size:14px;}
/* Form body */
.auth-form{padding:22px 32px 0;}
.auth-field{margin-bottom:16px;}
.auth-label{
  display:block;
  font-size:11.5px;font-weight:700;
  letter-spacing:.5px;text-transform:uppercase;
  color:var(--gray-600);margin-bottom:7px;
}
.auth-input-wrap{position:relative;display:flex;align-items:center;}
.auth-input-ico{
  position:absolute;left:13px;
  color:var(--gray-400);font-size:14px;
  pointer-events:none;transition:color .15s;
}
.auth-input-wrap:focus-within .auth-input-ico{color:var(--red);}
.auth-input{
  width:100%;
  padding:12px 42px;
  border:1.5px solid var(--gray-200);
  border-radius:var(--radius-sm);
  background:var(--cream);
  color:var(--gray-900);
  font-family:var(--font-np),var(--font-body);
  font-size:15px;outline:none;
  transition:border-color var(--transition),box-shadow var(--transition),background var(--transition);
}
.auth-input::placeholder{color:var(--gray-300);}
.auth-input:focus{
  border-color:var(--red);
  background:var(--white);
  box-shadow:0 0 0 4px rgba(192,29,46,.08);
}
.auth-input.is-err{
  border-color:var(--red);
  box-shadow:0 0 0 4px rgba(192,29,46,.06);
}
.auth-eye{
  position:absolute;right:11px;
  background:none;border:none;
  color:var(--gray-400);cursor:pointer;
  padding:5px;font-size:14px;
  border-radius:6px;transition:color .15s;
}
.auth-eye:hover{color:var(--red);}
/* Submit button */
.auth-submit{
  width:100%;margin-top:6px;
  padding:13px 20px;
  background:var(--gray-900);color:#fff;
  border:none;border-radius:var(--radius-sm);
  font-family:var(--font-head);
  font-size:13px;font-weight:700;
  letter-spacing:.5px;text-transform:uppercase;
  cursor:pointer;
  display:flex;align-items:center;justify-content:center;gap:8px;
  transition:background var(--transition),box-shadow var(--transition),transform var(--transition);
}
.auth-submit:hover{background:var(--red);box-shadow:var(--shadow-red);transform:translateY(-1px);}
.auth-submit:active{transform:translateY(0);}
/* Footer link */
.auth-foot{
  padding:18px 32px 24px;
  text-align:center;
  font-size:13.5px;color:var(--gray-500);
  margin-top:18px;
  border-top:1px solid var(--gray-150);
}
.auth-foot a{color:var(--red);font-weight:700;transition:color var(--transition);}
.auth-foot a:hover{color:var(--red-dark);}

.user-dropdown{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius);box-shadow:var(--shadow-xl)}
.comment-as-user,.comment-guest-notice{background:var(--cream);border:1px solid var(--gray-200);border-radius:var(--radius-sm);padding:12px 16px}

/* ============================================================
   MOBILE TOUCH FIX — v9.1
   Prevents "sticky hover" on phones/tablets.
   All hover effects are gated behind (hover: hover) so they
   only fire on real pointer devices (mouse/trackpad).
   Touch devices get clean :active feedback instead.
   ============================================================ */

/* 1. Kill tap highlight flash (the blue/grey flicker on tap) */
*, *::before, *::after {
  -webkit-tap-highlight-color: transparent;
}

/* 2. Prevent text/color shifts during scroll momentum on iOS */
a, button, [role="button"],
.card, .card-h, .list-item, .trending-item,
.tag, .filter-pill, .sh-pill, .tab-btn,
.nav-inner a, .ticker-item, .opinion-card,
.related-card, .prov-card, .sh-card, .stat-card,
.footer-col ul li a, .pagination a,
.share-btn, .btn, .btn-submit,
.search-hint-tag, .widget-list-item,
.section-header a.more-link,
.gallery-item, .newsletter-form button,
.sidebar-nl-form button {
  -webkit-tap-highlight-color: transparent;
  tap-highlight-color: transparent;
}

/* 3. Lock all :hover styles to pointer devices only */
@media (hover: hover) and (pointer: fine) {
  a:hover { color: var(--red) }

  .section-header a.more-link:hover { color: var(--red) }
  .section-header a.more-link:hover::after { transform: translateX(3px) }

  #topbar .social-links a:hover { color: #fff }

  .logo:hover .logo-main { color: var(--red-dark) }

  .btn-search:hover { background: var(--gray-100); border-color: var(--gray-300); color: var(--gray-900) }
  .btn-login:hover  { background: var(--black); box-shadow: var(--shadow-md); transform: translateY(-1px) }

  .nav-inner a:hover          { color: var(--gray-900) }
  .nav-inner a:hover::after   { transform: scaleX(.5) }

  .ticker-track:hover         { animation-play-state: paused }
  .ticker-item:hover          { color: var(--red) }

  .hero-main:hover img        { transform: scale(1.03) }
  .hero-side:hover img        { transform: scale(1.04) }

  .card:hover                 { border-color: var(--gray-300); box-shadow: var(--shadow-md); transform: translateY(-2px) }
  .card:hover img             { transform: scale(1.04) }
  .card-body h3:hover         { color: var(--red) }

  .card-h:hover               { background: var(--cream); padding-left: 6px; border-radius: var(--radius-sm) }
  .card-h:hover img           { transform: scale(1.06) }
  .card-h .info h4:hover      { color: var(--red) }

  .list-item:hover .list-num  { color: var(--red) }
  .list-item h5:hover         { color: var(--red) }

  .trending-item:hover .trend-rank   { color: var(--red) }
  .trending-item:hover img           { transform: scale(1.08) }
  .trending-item:hover .trend-info h5 { color: var(--red) }

  .tag:hover                  { background: var(--gray-900); color: #fff; border-color: var(--gray-900); transform: translateY(-1px) }
  .tab-btn:hover              { color: var(--gray-900) }

  .opinion-card:hover         { padding-left: 6px }
  .opinion-card h4:hover      { color: var(--red) }

  .gallery-item:hover img     { transform: scale(1.08) }
  .gallery-item:hover .gallery-overlay { opacity: 1 }

  .search-close:hover         { opacity: 1; transform: rotate(90deg) }
  .search-hint-tag:hover      { background: var(--gray-900); color: #fff; border-color: var(--gray-900) }

  .breadcrumb a:hover         { color: var(--red) }

  .share-btn:hover            { opacity: .85; transform: translateY(-1px); box-shadow: var(--shadow-sm) }
  .article-featured-img:hover img { transform: scale(1.01) }
  .author-social a:hover      { color: var(--red); border-color: var(--red); background: var(--red-subtle) }
  .btn-submit:hover           { background: var(--red); box-shadow: var(--shadow-red); transform: translateY(-1px) }
  .comment-actions a:hover    { color: var(--red) }

  .related-card:hover         { border-color: var(--gray-300); box-shadow: var(--shadow-md); transform: translateY(-2px) }
  .related-card:hover img     { transform: scale(1.06) }
  .related-card h4:hover      { color: var(--red) }

  .pagination a:hover         { background: var(--gray-900); color: #fff; border-color: var(--gray-900); box-shadow: var(--shadow-sm) }

  .footer-social a:hover      { color: #fff; border-color: rgba(255,255,255,.25); background: rgba(255,255,255,.06) }
  .footer-col ul li a:hover   { color: #fff; padding-left: 4px }
  .newsletter-form button:hover { background: var(--red-dark); box-shadow: var(--shadow-red) }

  #back-top:hover             { background: var(--red); box-shadow: var(--shadow-red); transform: translateY(-2px) }

  body.dark-mode .card:hover,
  body.dark-mode .related-card:hover { border-color: #333 }
  body.dark-mode .card-h:hover { background: #1e1d1c }

  .sh-pill:hover              { border-color: var(--gray-400); color: var(--gray-900) }
  .sh-card:hover              { border-color: var(--gray-300); box-shadow: var(--shadow-md); transform: translateY(-1px) }

  .admin-sidebar nav a:hover  { color: #fff; background: rgba(255,255,255,.05); border-left-color: var(--red) }
  .stat-card:hover            { box-shadow: var(--shadow-md); transform: translateY(-1px) }
  .data-table tr:hover td     { background: var(--cream) }

  .btn-primary:hover          { background: var(--black); box-shadow: var(--shadow-md); transform: translateY(-1px) }
  .btn-secondary:hover        { background: var(--gray-300) }
  .btn-danger:hover           { background: var(--red-dark); box-shadow: var(--shadow-red) }

  body.dark-mode .mobile-nav-links a:hover { background: #222 }

  .prov-card:hover            { border-color: var(--gray-300); box-shadow: var(--shadow-md); transform: translateY(-2px) }
  .prov-headline:hover        { color: var(--red) }
  .search-inline-form button:hover { background: var(--red); box-shadow: var(--shadow-red) }
  .widget-list-item:hover     { background: var(--gray-100) }
  .filter-pill:hover          { border-color: var(--gray-400); color: var(--gray-900); background: var(--white) }
  .sp-refresh-btn:hover       { border-color: var(--gray-400); color: var(--gray-900); background: var(--gray-100) }
  .sidebar-nl-form button:hover { background: var(--red-dark); box-shadow: var(--shadow-red) }
  .btn-search:hover           { border-color: var(--gray-400) }
  .btn-login:hover            { background: var(--gray-700) }
}




/* 5. Touch :active feedback — gives tactile response on tap */
@media (hover: none) {
  a:active,
  .card:active,
  .card-h:active,
  .related-card:active,
  .prov-card:active,
  .sh-card:active,
  .tag:active,
  .filter-pill:active,
  .sh-pill:active,
  .tab-btn:active,
  .nav-inner a:active,
  .ticker-item:active,
  .pagination a:active,
  .share-btn:active,
  .btn:active,
  .btn-submit:active,
  .search-hint-tag:active,
  .widget-list-item:active,
  .footer-col ul li a:active,
  .newsletter-form button:active,
  .sidebar-nl-form button:active,
  .section-header a.more-link:active {
    opacity: .75;
    transition: opacity .1s;
  }

  /* Headline tap colour */
  .card-body h3:active,
  .card-h .info h4:active,
  .list-item h5:active,
  .trend-info h5:active,
  .opinion-card h4:active,
  .related-card h4:active,
  .prov-headline:active,
  .comment-actions a:active,
  .breadcrumb a:active,
  .toc li a:active {
    color: var(--red);
    transition: color .1s;
  }
}

/* ═══════════════════════════════════════════════════════════
   THE HILL–STYLE FULL-WIDTH LAYOUT  (global — all pages)
   Dissolves the .container box, lets content breathe edge-to-edge
   ═══════════════════════════════════════════════════════════ */

/* 1 ── Dissolve all .container boxes site-wide */
.container {
  max-width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* 2 ── Logo row inner — padded directly, no container box */
.ok-logo-sec-inner {
  max-width: 100%;
  padding: 0 40px;
}

/* 3 ── Sticky nav — edge-to-edge with left padding for alignment */
.ok-snav-links {
  padding-left: 16px;
}

/* 4 ── Main two-column grid (homepage, category, tag, province, search) */
.main-grid {
  display: grid;
  grid-template-columns: 1fr 300px;
  gap: 0;
  align-items: start;
  max-width: 100%;
}

/* Content column — the first direct child of .main-grid */
.content-area,
.main-grid > *:first-child {
  min-width: 0;
  padding: 28px 40px 48px 40px;
}

/* Sidebar right rail */
.main-grid > aside.sidebar,
.main-grid > .sidebar {
  border-left: 1px solid rgba(0,0,0,.07);
  padding: 24px 24px 40px 28px;
  position: sticky;
  top: 0;
  max-height: 100vh;
  overflow-y: auto;
  scrollbar-width: none;
}
.main-grid > aside.sidebar::-webkit-scrollbar,
.main-grid > .sidebar::-webkit-scrollbar { display: none; }
body.dark-mode .main-grid > aside.sidebar,
body.dark-mode .main-grid > .sidebar {
  border-left-color: rgba(255,255,255,.06);
}

/* 5 ── Hero carousel — bleed flush to column edges, square corners */
.hero-carousel-wrap {
  margin-left: -40px !important;
  margin-right: -40px !important;
  margin-top: -28px !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
.hero-carousel-wrap .hero-slide img {
  border-radius: 0 !important;
  height: 480px !important;
}
.hero-carousel-wrap .hero-slide .hero-overlay {
  padding: 120px 40px 36px !important;
}
.hero-carousel-wrap .hero-slide .hero-overlay h2 {
  font-size: 30px !important;
  max-width: 700px !important;
}

/* 6 ── Election top bar — strip inner container padding, full bleed */
#el-top-bar {
  margin-bottom: 0 !important;
}
#el-top-bar .container {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.el-top-inner {
  padding-left: 20px;
}

/* 6b ── Election page containers — restore padding stripped by global override */
.el-hero .container,
.el-tabbar .container,
.el-body .container {
  padding-left: 32px !important;
  padding-right: 32px !important;
}
@media(max-width:768px){
  .el-hero .container,
  .el-tabbar .container,
  .el-body .container {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
}

/* 7 ── Section headers in content area — align flush to column */
.content-area .section-header {
  margin-bottom: 20px;
}

/* 8 ── Footer — give breathing room */
footer .container,
.footer .container,
#footer .container {
  padding-left: 40px !important;
  padding-right: 40px !important;
}

/* 9 ── Sports / category sp-container — full width with padding */
.sp-container {
  max-width: 100% !important;
  padding-left: 40px !important;
  padding-right: 40px !important;
}

/* 10 ── Auth pages (login/register) — centred card, unchanged feel */
.auth-wrapper {
  max-width: 480px;
  margin: 48px auto;
  padding: 0 24px;
}

/* ── Tablet (≤1100px) ── */
@media (max-width: 1100px) {
  .main-grid { grid-template-columns: 1fr 260px; }
  .content-area, .main-grid > *:first-child { padding: 22px 28px 40px 28px; }
  .hero-carousel-wrap {
    margin-left: -28px !important;
    margin-right: -28px !important;
    margin-top: -22px !important;
  }
  .hero-carousel-wrap .hero-slide img { height: 380px !important; }
  .hero-carousel-wrap .hero-slide .hero-overlay { padding: 100px 28px 28px !important; }
  .hero-carousel-wrap .hero-slide .hero-overlay h2 { font-size: 24px !important; max-width: 560px !important; }
  .ok-logo-sec-inner { padding: 0 24px; }
  footer .container, .footer .container, #footer .container { padding-left: 24px !important; padding-right: 24px !important; }
  .sp-container { padding-left: 24px !important; padding-right: 24px !important; }
}

/* ── Mobile (≤768px) ── */
@media (max-width: 768px) {
  .main-grid { grid-template-columns: 1fr !important; }
  .content-area, .main-grid > *:first-child { padding: 0 0 24px 0; }
  .main-grid > aside.sidebar,
  .main-grid > .sidebar {
    border-left: none !important;
    border-top: 1px solid rgba(0,0,0,.07) !important;
    padding: 20px 16px 28px 16px;
    position: static;
    max-height: none;
  }
  body.dark-mode .main-grid > aside.sidebar,
  body.dark-mode .main-grid > .sidebar {
    border-top-color: rgba(255,255,255,.06) !important;
  }
  .hero-carousel-wrap {
    margin-left: 0 !important;
    margin-right: 0 !important;
    margin-top: 0 !important;
  }
  .hero-carousel-wrap .hero-slide img { height: 220px !important; }
  .hero-carousel-wrap .hero-slide .hero-overlay { padding: 60px 16px 18px !important; }
  .hero-carousel-wrap .hero-slide .hero-overlay h2 { font-size: 18px !important; }
  /* Re-add padding to content sections inside the zero-padded column */
  .content-area .category-section,
  .content-area .grid-2,
  .content-area .grid-3 {
    padding-left: 16px;
    padding-right: 16px;
  }
  .ok-logo-sec-inner { padding: 0 14px; }
  .ok-snav-links { padding-left: 0; }
  footer .container, .footer .container, #footer .container { padding-left: 16px !important; padding-right: 16px !important; }
  .sp-container { padding-left: 16px !important; padding-right: 16px !important; }
}

/* ═══════════════════════════════════════════════════════
   ताजा खबर — identical to category page cards
   ═══════════════════════════════════════════════════════ */

.category-section.taja-khabar {
  margin-bottom: 32px !important;
}

/* ═══════════════════════════════════════════════════════
   CATEGORY / TAG / PROVINCE — Exact sports page style
   Rounded cards, border, image top, auto-fill grid
   ═══════════════════════════════════════════════════════ */

/* Reset any previous overrides — let sports styles rule */
.sp-news-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)) !important;
  gap: 20px !important;
  padding: 8px 0 32px !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.sp-news-card {
  background: var(--white, #fff) !important;
  border: 1px solid rgba(0,0,0,.07) !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  transition: all 0.2s !important;
  text-decoration: none !important;
  display: block !important;
  box-shadow: none !important;
  transform: none !important;
}
.sp-news-card:hover {
  border-color: var(--red, #c71d2e) !important;
  box-shadow: 0 4px 12px rgba(199,29,46,.10) !important;
  transform: translateY(-3px) !important;
}
body.dark-mode .sp-news-card { background: #1a1a1a !important; border-color: rgba(255,255,255,.07) !important; }
body.dark-mode .sp-news-card:hover { border-color: var(--red, #c71d2e) !important; box-shadow: 0 4px 12px rgba(0,0,0,.3) !important; }

.sp-news-img {
  width: 100% !important;
  height: 180px !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 0 !important;
  transition: transform .4s ease !important;
}
.sp-news-card:hover .sp-news-img { transform: scale(1.03) !important; }

.sp-news-body {
  padding: 16px !important;
  position: static !important;
  text-align: left !important;
  display: block !important;
  align-items: unset !important;
}

.sp-news-cat {
  display: inline-block !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  margin-bottom: 8px !important;
}

.sp-news-title {
  font-size: 20px !important;
  font-weight: 800 !important;
  line-height: 1.35 !important;
  margin-bottom: 8px !important;
  color: var(--gray-900, #111) !important;
  text-shadow: none !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 3 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  letter-spacing: -.2px !important;
}
.sp-news-card:hover .sp-news-title { color: var(--red, #c71d2e) !important; }
body.dark-mode .sp-news-title { color: #ddd !important; }

/* Excerpt below title */
.sp-news-excerpt {
  font-size: 12.5px !important;
  color: var(--gray-500, #777) !important;
  line-height: 1.55 !important;
  margin: 0 0 8px !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}
body.dark-mode .sp-news-excerpt { color: #888 !important; }

.sp-news-meta {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  color: var(--gray-500, #777) !important;
  justify-content: flex-start !important;
  margin-top: 0 !important;
}
.sp-news-meta span { font-size: 13px !important; font-weight: 700 !important; }
.sp-news-meta i { font-size: 11px !important; opacity: .6 !important; margin-right: 2px !important; }

/* Tablet — tighter grid */
@media (max-width: 900px) {
  .sp-news-grid { grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)) !important; gap: 14px !important; }
  .sp-news-img { height: 150px !important; }
  .sp-news-title { font-size: 17px !important; }
}

/* Mobile — 2 col then 1 col */
@media (max-width: 768px) {
  .sp-news-grid { grid-template-columns: 1fr 1fr !important; gap: 12px !important; }
  .sp-news-img { height: 130px !important; }
  .sp-news-title { font-size: 15px !important; -webkit-line-clamp: 3 !important; }
  .sp-news-excerpt { display: none !important; }
  .sp-news-body { padding: 12px !important; }
}
@media (max-width: 480px) {
  .sp-news-grid { grid-template-columns: 1fr !important; }
  .sp-news-img { height: 200px !important; }
  .sp-news-title { font-size: 18px !important; }
  .sp-news-excerpt { display: -webkit-box !important; }
}

/* ═══════════════════════════════════════════════════════
   GLOBAL — Remove all rounded corners from cards
   ═══════════════════════════════════════════════════════ */
.sp-news-card,
.card,
.card-img-wrap,
.card-img-wrap img,
.sp-news-img,
.taja-grid .sp-news-card,
.taja-grid .sp-news-img {
  border-radius: 0 !important;
}

/* Nepali BS date badge */
.sp-news-bs-date {
  font-size: 13px !important;
  font-weight: 700 !important;
  color: var(--gray-500, #777) !important;
  letter-spacing: 0 !important;
}
body.dark-mode .sp-news-bs-date { color: #666 !important; }

/* Global card hover — always red, never blue */
.sp-news-card:hover { border-color: var(--red, #c71d2e) !important; box-shadow: 0 4px 12px rgba(199,29,46,.10) !important; transform: translateY(-3px) !important; }
.sp-news-card:hover .sp-news-title { color: var(--red, #c71d2e) !important; }
