/* ================================================================
   THE FORTUNE POST — INDIA EDITION
   Professional News Media CSS v3.0
   ================================================================ */

/* ── CUSTOM PROPERTIES ── */
:root {
  --red:       #c0001a;
  --red-h:     #9a0015;
  --red-lt:    #ff1a35;
  --navy:      #0b1d35;
  --navy-lt:   #132b4a;
  --gold:      #d4a017;
  --text:      #1a1a2e;
  --text-2:    #3d4451;
  --text-3:    #6b7280;
  --text-inv:  #f0f4f8;
  --bg:        #f0f2f5;
  --bg-2:      #e8ebf0;
  --card:      #ffffff;
  --border:    #dde1e7;
  --border-dk: #c5cbd6;
  --shadow-sm: 0 1px 4px rgba(0,0,0,.08);
  --shadow:    0 2px 12px rgba(0,0,0,.10);
  --shadow-lg: 0 8px 30px rgba(0,0,0,.14);
  --radius:    6px;
  --radius-lg: 10px;
  --font:      'Noto Sans Devanagari', 'Segoe UI', sans-serif;
  --font-serif:'Playfair Display', Georgia, serif;
  --transition:.2s ease;
  --header-h:  70px;
  --nav-h:     48px;
}
[data-theme="dark"] {
  --red:      #e5001f;
  --navy:     #0a1628;
  --text:     #e2e8f0;
  --text-2:   #a0aec0;
  --text-3:   #718096;
  --bg:       #0f1923;
  --bg-2:     #162032;
  --card:     #1a2535;
  --border:   #2d3d52;
  --border-dk:#3d5068;
  --text-inv: #e2e8f0;
}

/* ── RESET ── */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;font-size:16px;}
body{font-family:var(--font);color:var(--text);background:var(--bg);line-height:1.7;-webkit-font-smoothing:antialiased;}
img{max-width:100%;display:block;object-fit:cover;}
a{color:inherit;text-decoration:none;transition:color var(--transition);}
a:hover{color:var(--red);}
ul,ol{list-style:none;}
button{cursor:pointer;font-family:var(--font);}

/* ── READING PROGRESS BAR ── */
.reading-bar{position:fixed;top:0;left:0;height:3px;background:var(--red);z-index:9999;transition:width .1s linear;width:0;}

/* ════════════════════════════════════════
   TOP BAR
════════════════════════════════════════ */
.topbar{background:var(--navy);color:#b8c5d3;font-size:.8rem;border-bottom:2px solid var(--red);}
.topbar-container{max-width:1320px;margin:0 auto;padding:0 20px;display:flex;align-items:center;justify-content:space-between;height:36px;gap:16px;}
.topbar-left{display:flex;align-items:center;gap:12px;flex-shrink:0;}
.topbar-live{display:flex;align-items:center;gap:6px;color:#ff6b6b;font-weight:700;font-size:.75rem;letter-spacing:.5px;}
.live-dot{width:7px;height:7px;background:#ff4444;border-radius:50%;animation:blink 1.2s ease-in-out infinite;}
@keyframes blink{0%,100%{opacity:1;box-shadow:0 0 0 0 rgba(255,68,68,.4);}50%{opacity:.6;box-shadow:0 0 0 5px rgba(255,68,68,0);}}
.topbar-clock{color:#d0d8e4;font-size:.79rem;}
.topbar-center{flex:1;text-align:center;font-size:.8rem;color:#9aacbe;}
.topbar-center strong{color:#e2e8f0;}
.topbar-right{display:flex;align-items:center;gap:8px;flex-shrink:0;}
.topbar-icon-btn{background:none;border:none;color:#9aacbe;font-size:.85rem;padding:4px 6px;border-radius:3px;transition:color var(--transition);}
.topbar-icon-btn:hover{color:#fff;}
.topbar-socials{display:flex;gap:8px;margin-left:6px;padding-left:10px;border-left:1px solid rgba(255,255,255,.12);}
.topbar-socials a{color:#9aacbe;font-size:.82rem;transition:color var(--transition);}
.ts-fb:hover{color:#1877f2;} .ts-tw:hover{color:#e0e0e0;} .ts-ig:hover{color:#e1306c;} .ts-yt:hover{color:#ff0000;} .ts-tg:hover{color:#0088cc;}

/* ════════════════════════════════════════
   SITE HEADER
════════════════════════════════════════ */
.site-header{background:var(--card);position:sticky;top:0;z-index:200;box-shadow:var(--shadow);border-bottom:1px solid var(--border);transition:padding var(--transition),box-shadow var(--transition);}
.site-header.shrunk .header-container{height:56px;}
.header-container{max-width:1320px;margin:0 auto;padding:0 20px;display:flex;align-items:center;gap:20px;height:var(--header-h);transition:height var(--transition);}

/* Logo */
.site-logo{display:flex;align-items:center;gap:12px;flex-shrink:0;}
.logo-emblem{width:44px;height:44px;background:var(--red);display:flex;align-items:center;justify-content:center;border-radius:4px;}
.logo-crown{color:#fff;font-size:1.5rem;line-height:1;}
.logo-text{display:flex;flex-direction:column;line-height:1.15;}
.logo-main{font-size:1.45rem;font-weight:900;letter-spacing:1px;}
.logo-fortune{color:var(--red);}
.logo-post{color:var(--navy);}
[data-theme="dark"] .logo-post{color:#e2e8f0;}
.logo-sub{font-size:.63rem;color:var(--text-3);letter-spacing:2px;text-transform:uppercase;margin-top:2px;}

/* Header banner */
.header-banner{flex:1;min-width:0;padding:0 20px;}
.header-banner-text{display:flex;align-items:center;gap:10px;overflow:hidden;}
.hb-label{background:var(--red);color:#fff;font-size:.7rem;font-weight:700;padding:3px 10px;border-radius:3px;white-space:nowrap;flex-shrink:0;}
.hb-headline{font-size:.88rem;color:var(--text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color var(--transition);}
.hb-headline:hover{color:var(--red);}

/* Actions */
.header-actions{display:flex;align-items:center;gap:10px;flex-shrink:0;}
.search-toggle-btn{width:38px;height:38px;border:2px solid var(--border);border-radius:50%;background:none;color:var(--text-2);font-size:.95rem;display:flex;align-items:center;justify-content:center;transition:all var(--transition);}
.search-toggle-btn:hover{background:var(--red);border-color:var(--red);color:#fff;}
.btn-hdr-login{display:flex;align-items:center;gap:6px;padding:8px 16px;border:2px solid var(--red);border-radius:4px;color:var(--red);font-size:.84rem;font-weight:700;transition:all var(--transition);}
.btn-hdr-login:hover{background:var(--red);color:#fff;}
.btn-hdr-subscribe{display:flex;align-items:center;gap:6px;padding:8px 16px;background:var(--red);color:#fff;border-radius:4px;font-size:.84rem;font-weight:700;transition:background var(--transition);}
.btn-hdr-subscribe:hover{background:var(--red-h);color:#fff;}
.btn-hdr-user{display:flex;align-items:center;gap:6px;padding:7px 14px;background:var(--bg);border-radius:4px;font-size:.84rem;font-weight:600;border:1px solid var(--border);}

/* Search Drawer */
.search-drawer{background:var(--navy);overflow:hidden;max-height:0;transition:max-height .35s ease;}
.search-drawer.open{max-height:72px;}
.search-drawer-form{display:flex;align-items:center;gap:12px;padding:12px 0;}
.sd-icon{color:rgba(255,255,255,.4);font-size:1rem;}
.sd-input{flex:1;background:transparent;border:none;outline:none;color:#fff;font-family:var(--font);font-size:1rem;padding:4px 0;}
.sd-input::placeholder{color:rgba(255,255,255,.35);}
.sd-btn{background:var(--red);color:#fff;border:none;padding:8px 20px;border-radius:4px;font-family:var(--font);font-size:.9rem;font-weight:600;}
.sd-close{background:none;border:none;color:rgba(255,255,255,.5);font-size:1rem;padding:8px;}
.sd-close:hover{color:#fff;}

/* ════════════════════════════════════════
   NAVIGATION
════════════════════════════════════════ */
.main-nav{background:linear-gradient(180deg,#0e2140 0%,#0b1d35 100%);position:sticky;top:var(--header-h);z-index:199;border-bottom:2px solid var(--red);}
.nav-container{max-width:1320px;margin:0 auto;padding:0 20px;display:flex;align-items:stretch;}
.nav-menu{display:flex;align-items:stretch;}
.nav-menu>li{position:relative;}
.nav-menu>li>a.nav-link{display:flex;align-items:center;gap:5px;color:#c8d8e8;font-size:.88rem;font-weight:600;padding:0 14px;height:var(--nav-h);border-bottom:3px solid transparent;transition:all var(--transition);white-space:nowrap;}
.nav-menu>li>a.nav-link:hover,
.nav-menu>li>a.nav-link.active{color:#fff;background:rgba(255,255,255,.06);border-bottom-color:var(--red);}
.nlive{background:var(--red);color:#fff;font-size:.6rem;font-weight:800;padding:2px 5px;border-radius:3px;letter-spacing:.5px;animation:blink 1.2s ease-in-out infinite;}
.nav-video{color:#ff6b6b !important;}
.nav-arrow{font-size:.65rem;opacity:.6;}

/* Mega Menu */
.has-mega{position:relative;}
.mega-menu{position:absolute;top:100%;left:0;background:var(--card);border:1px solid var(--border);border-top:3px solid var(--red);border-radius:0 0 var(--radius) var(--radius);box-shadow:var(--shadow-lg);min-width:200px;opacity:0;visibility:hidden;transform:translateY(8px);transition:all .22s ease;z-index:500;}
.has-mega:hover .mega-menu{opacity:1;visibility:visible;transform:translateY(0);}
.mega-inner{display:flex;flex-direction:column;padding:8px;}
.mega-inner a{padding:9px 14px;font-size:.88rem;border-radius:4px;color:var(--text-2);transition:all var(--transition);}
.mega-inner a:hover{background:var(--bg);color:var(--red);padding-left:18px;}

.nav-toggle{display:none;background:none;border:none;color:#fff;font-size:.9rem;padding:0 14px;height:var(--nav-h);align-items:center;gap:8px;}
.nav-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:198;}
.nav-overlay.show{display:block;}

/* ════════════════════════════════════════
   BREAKING TICKER
════════════════════════════════════════ */
.breaking-bar{background:#fff8f0;border-bottom:2px solid var(--border);}
[data-theme="dark"] .breaking-bar{background:#1a2535;}
.bb-container{max-width:1320px;margin:0 auto;padding:0 20px;display:flex;align-items:center;height:38px;gap:0;}
.bb-label{display:flex;align-items:center;gap:6px;background:var(--red);color:#fff;padding:0 14px;height:100%;font-size:.78rem;font-weight:800;letter-spacing:.5px;flex-shrink:0;white-space:nowrap;}
.bb-live-dot{width:7px;height:7px;background:#fff;border-radius:50%;animation:blink 1s infinite;}
.bb-track{flex:1;overflow:hidden;height:100%;display:flex;align-items:center;padding:0 12px;border-right:1px solid var(--border);}
.bb-reel{display:flex;align-items:center;gap:0;white-space:nowrap;will-change:transform;}
.bb-reel.paused{animation-play-state:paused;}
.bb-item{font-size:.84rem;color:var(--text);padding:0 6px;transition:color var(--transition);}
.bb-item:hover{color:var(--red);}
.bb-sep{color:var(--red);font-size:.7rem;margin:0 8px;}
.bb-controls{padding:0 10px;flex-shrink:0;}
.bb-pause{background:none;border:1px solid var(--border);border-radius:3px;color:var(--text-3);font-size:.7rem;padding:3px 8px;transition:all var(--transition);}
.bb-pause:hover{background:var(--red);border-color:var(--red);color:#fff;}

/* ════════════════════════════════════════
   BREADCRUMB
════════════════════════════════════════ */
.breadcrumb-bar{background:var(--card);border-bottom:1px solid var(--border);}
.bc-container{max-width:1320px;margin:0 auto;padding:8px 20px;}
.breadcrumb{display:flex;align-items:center;gap:8px;font-size:.8rem;color:var(--text-3);flex-wrap:wrap;}
.breadcrumb li{display:flex;align-items:center;gap:8px;}
.breadcrumb li:not(:last-child)::after{content:'›';opacity:.5;}
.breadcrumb a{color:var(--text-3);transition:color var(--transition);}
.breadcrumb a:hover{color:var(--red);}
.breadcrumb li[aria-current] span{color:var(--text);font-weight:600;}

/* ════════════════════════════════════════
   LAYOUT HELPERS
════════════════════════════════════════ */
.page-body{padding:28px 0 50px;}
.pb-container{max-width:1320px;margin:0 auto;padding:0 20px;display:grid;grid-template-columns:1fr 340px;gap:32px;}
.content-area{min-width:0;}
.sidebar-area{min-width:0;}
.no-content{color:var(--text-3);padding:30px 0;text-align:center;grid-column:1/-1;}

/* ════════════════════════════════════════
   SPOTLIGHT (HERO)
════════════════════════════════════════ */
.spotlight{background:var(--card);border-bottom:3px solid var(--red);}
.spot-container{max-width:1320px;margin:0 auto;padding:20px;display:grid;grid-template-columns:1fr 340px 240px;gap:16px;align-items:start;}

/* Main big card */
.spot-main{display:block;position:relative;border-radius:var(--radius-lg);overflow:hidden;background:#000;}
.spot-fig{position:relative;height:440px;}
.spot-fig img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease;opacity:.92;}
.spot-main:hover .spot-fig img{transform:scale(1.03);}
.spot-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.88) 0%,rgba(0,0,0,.4) 45%,rgba(0,0,0,.05) 100%);}
.spot-badge{position:absolute;top:16px;left:16px;background:var(--red);color:#fff;font-size:.72rem;font-weight:700;padding:4px 12px;border-radius:3px;letter-spacing:.4px;z-index:2;}
.spot-content{position:absolute;bottom:0;left:0;right:0;padding:24px;z-index:2;}
.spot-title{font-family:var(--font);font-size:1.55rem;font-weight:800;color:#fff;line-height:1.38;margin-bottom:10px;}
.spot-excerpt{font-size:.88rem;color:rgba(255,255,255,.8);line-height:1.65;margin-bottom:12px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.spot-meta{display:flex;align-items:center;gap:16px;flex-wrap:wrap;}
.spot-meta span{font-size:.8rem;color:rgba(255,255,255,.75);display:flex;align-items:center;gap:5px;}
.spot-read-cta{background:var(--red);color:#fff !important;padding:5px 14px;border-radius:3px;font-weight:700 !important;margin-left:auto;}

/* Side cards */
.spot-side{display:flex;flex-direction:column;gap:14px;}
.spot-medium{display:grid;grid-template-columns:110px 1fr;gap:10px;border-radius:var(--radius);overflow:hidden;background:var(--bg);border:1px solid var(--border);transition:box-shadow var(--transition);}
.spot-medium:hover{box-shadow:var(--shadow);}
.spot-medium figure{height:90px;overflow:hidden;}
.spot-medium figure img{width:100%;height:100%;transition:transform .3s;}
.spot-medium:hover figure img{transform:scale(1.06);}
.spm-body{padding:10px;display:flex;flex-direction:column;justify-content:center;gap:4px;}
.spm-cat{font-size:.68rem;color:var(--red);font-weight:700;text-transform:uppercase;letter-spacing:.4px;}
.spm-body h3{font-size:.88rem;font-weight:700;line-height:1.4;color:var(--text);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}
.spot-medium:hover h3{color:var(--red);}
.spm-time{font-size:.75rem;color:var(--text-3);}

.spot-mini-list{display:flex;flex-direction:column;gap:8px;}
.spot-mini{display:flex;align-items:center;gap:8px;padding:10px;border-radius:var(--radius);background:var(--bg);border:1px solid var(--border);transition:background var(--transition);}
.spot-mini:hover{background:var(--bg-2);}
.spn-num{font-size:1.5rem;font-weight:900;color:var(--border-dk);width:26px;text-align:center;flex-shrink:0;line-height:1;}
.spot-mini:nth-child(1) .spn-num{color:var(--red);}
.spot-mini:nth-child(2) .spn-num{color:#f39c12;}
.spn-body{flex:1;min-width:0;}
.spn-body h4{font-size:.84rem;font-weight:700;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.spot-mini:hover h4{color:var(--red);}
.spn-body span{font-size:.73rem;color:var(--text-3);}
.spot-mini>img{width:66px;height:50px;border-radius:4px;flex-shrink:0;}

/* Third column — latest ticker */
.spot-ticker-col{background:var(--bg);border-radius:var(--radius);border:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden;}
.stc-head{background:var(--red);color:#fff;padding:10px 14px;font-size:.82rem;font-weight:800;display:flex;align-items:center;gap:8px;letter-spacing:.4px;}
.stc-list{flex:1;overflow-y:auto;max-height:380px;}
.stc-item{display:flex;flex-direction:column;gap:3px;padding:10px 14px;border-bottom:1px solid var(--border);transition:background var(--transition);}
.stc-item:hover{background:var(--card);}
.stci-cat{font-size:.68rem;color:var(--red);font-weight:700;text-transform:uppercase;}
.stci-title{font-size:.82rem;font-weight:600;line-height:1.4;color:var(--text);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.stc-item:hover .stci-title{color:var(--red);}
.stci-time{font-size:.7rem;color:var(--text-3);}
.stc-more{display:flex;align-items:center;justify-content:center;gap:6px;padding:10px;background:var(--navy);color:#c8d8e8;font-size:.8rem;font-weight:700;transition:background var(--transition);}
.stc-more:hover{background:var(--red);color:#fff;}

/* ════════════════════════════════════════
   MARKET TICKER BAR
════════════════════════════════════════ */
.market-bar{background:var(--navy);color:#b8c5d3;font-size:.78rem;border-bottom:2px solid var(--border);}
.mb-container{max-width:1320px;margin:0 auto;padding:7px 20px;display:flex;align-items:center;gap:16px;overflow:hidden;}
.mb-label{color:#7a9ab5;font-weight:700;display:flex;align-items:center;gap:6px;flex-shrink:0;border-right:1px solid rgba(255,255,255,.1);padding-right:14px;}
.mb-items{display:flex;align-items:center;gap:20px;flex:1;overflow:hidden;}
.mb-item{display:flex;align-items:center;gap:5px;white-space:nowrap;flex-shrink:0;}
.mb-name{color:#7a9ab5;}
.mb-val{font-weight:700;}
.mb-val.up{color:#4caf50;}
.mb-val.dn{color:#f44336;}
.mb-note{color:#4a6070;font-size:.7rem;flex-shrink:0;}

/* ════════════════════════════════════════
   HOME SECTIONS
════════════════════════════════════════ */
.home-section{background:var(--card);border-radius:var(--radius-lg);padding:22px;margin-bottom:28px;box-shadow:var(--shadow-sm);border:1px solid var(--border);}
.hs-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;padding-bottom:12px;border-bottom:1px solid var(--border);gap:12px;flex-wrap:wrap;}
.hs-title-wrap{display:flex;align-items:center;gap:8px;}
.hs-accent{display:inline-block;width:4px;height:22px;background:var(--red);border-radius:2px;}
.hs-title-wrap h2{font-size:1.15rem;font-weight:800;color:var(--text);}
.hs-more{font-size:.8rem;color:var(--red);font-weight:700;display:flex;align-items:center;gap:4px;margin-left:auto;transition:gap var(--transition);}
.hs-more:hover{gap:7px;color:var(--red-h);}

/* Tabs */
.tab-row{display:flex;gap:4px;background:var(--bg);padding:3px;border-radius:5px;}
.tab-btn{padding:5px 14px;border:none;background:none;border-radius:3px;font-family:var(--font);font-size:.8rem;font-weight:600;color:var(--text-3);cursor:pointer;transition:all var(--transition);}
.tab-btn.active{background:var(--red);color:#fff;}
.tab-panel{display:none;}
.tab-panel.active{display:block;}

/* News row grid */
.news-row{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.ncard{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;transition:transform var(--transition),box-shadow var(--transition);}
.ncard:hover{transform:translateY(-3px);box-shadow:var(--shadow);}
.ncard-lg{grid-column:span 2;display:grid;grid-template-columns:1fr 1fr;gap:0;}
.ncard-img{display:block;position:relative;height:160px;overflow:hidden;flex-shrink:0;}
.ncard-lg .ncard-img{height:100%;min-height:200px;}
.ncard-img img{width:100%;height:100%;object-fit:cover;transition:transform .35s;}
.ncard:hover .ncard-img img{transform:scale(1.04);}
.nc-tag{position:absolute;top:9px;left:9px;background:var(--red);color:#fff;font-size:.68rem;font-weight:700;padding:3px 9px;border-radius:3px;}
.ncard-body{padding:12px;display:flex;flex-direction:column;gap:6px;}
.ncard-lg .ncard-body{padding:18px;justify-content:center;}
.ncard-body h3{font-size:.9rem;font-weight:700;line-height:1.45;color:var(--text);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}
.ncard-lg .ncard-body h3{font-size:1.1rem;-webkit-line-clamp:4;}
.ncard-body h3 a:hover{color:var(--red);}
.ncard-body p{font-size:.82rem;color:var(--text-2);line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.ncard-meta{display:flex;gap:12px;flex-wrap:wrap;font-size:.75rem;color:var(--text-3);margin-top:auto;}
.ncard-meta i{color:var(--red);margin-right:3px;}

/* ────────────────────────────────────
   CATEGORY SECTION
──────────────────────────────────── */
.cat-section{border-top:3px solid var(--cat-color,var(--red));}
.cat-layout{display:grid;grid-template-columns:1.3fr 1fr;gap:20px;}
.cat-layout-rev{direction:rtl;}
.cat-layout-rev>*{direction:ltr;}

.cat-main-card{display:block;border-radius:var(--radius);overflow:hidden;background:var(--bg);border:1px solid var(--border);transition:box-shadow var(--transition);}
.cat-main-card:hover{box-shadow:var(--shadow);}
.cat-main-card figure{height:210px;overflow:hidden;}
.cat-main-card figure img{width:100%;height:100%;transition:transform .35s;}
.cat-main-card:hover figure img{transform:scale(1.04);}
.cmc-body{padding:16px;}
.cmc-body h3{font-size:1rem;font-weight:700;line-height:1.45;color:var(--text);margin-bottom:8px;}
.cat-main-card:hover h3{color:var(--red);}
.cmc-body p{font-size:.84rem;color:var(--text-2);line-height:1.65;margin-bottom:10px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.cmc-meta{font-size:.77rem;color:var(--text-3);display:flex;gap:12px;flex-wrap:wrap;}
.cmc-meta i{color:var(--red);margin-right:3px;}

.cat-side-list{display:flex;flex-direction:column;gap:10px;}
.csl-item{display:grid;grid-template-columns:86px 1fr;gap:10px;padding:10px;border-radius:var(--radius);background:var(--bg);border:1px solid var(--border);transition:background var(--transition);}
.csl-item:hover{background:var(--bg-2);}
.csl-item img{height:66px;border-radius:4px;width:100%;}
.csli-body{display:flex;flex-direction:column;justify-content:center;gap:4px;}
.csli-body h4{font-size:.84rem;font-weight:700;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.csl-item:hover h4{color:var(--red);}
.csli-body span{font-size:.73rem;color:var(--text-3);}

/* ════════════════════════════════════════
   SIDEBAR
════════════════════════════════════════ */
.widget{background:var(--card);border-radius:var(--radius-lg);padding:18px;margin-bottom:22px;box-shadow:var(--shadow-sm);border:1px solid var(--border);}
.whead{display:flex;align-items:center;gap:8px;font-size:.95rem;font-weight:800;color:var(--text);padding-bottom:12px;margin-bottom:14px;border-bottom:2px solid var(--border);}
.whead i{color:var(--red);}
.wh-bar{display:inline-block;width:4px;height:18px;background:var(--red);border-radius:2px;flex-shrink:0;}

/* Trending */
.trend-list{display:flex;flex-direction:column;gap:0;}
.trend-item{display:flex;align-items:center;gap:10px;padding:11px 0;border-bottom:1px dashed var(--border);}
.trend-item:last-child{border-bottom:none;padding-bottom:0;}
.ti-num{font-size:1.3rem;font-weight:900;color:var(--border-dk);width:26px;text-align:center;line-height:1;flex-shrink:0;}
.trend-item:nth-child(1) .ti-num{color:var(--red);}
.trend-item:nth-child(2) .ti-num{color:#f39c12;}
.trend-item:nth-child(3) .ti-num{color:#3498db;}
.ti-body{flex:1;min-width:0;}
.ti-title{font-size:.84rem;font-weight:700;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:var(--text);}
.ti-title:hover{color:var(--red);}
.ti-meta{display:flex;align-items:center;gap:8px;margin-top:4px;font-size:.72rem;color:var(--text-3);flex-wrap:wrap;}
.ti-cat{color:var(--red);font-weight:700;font-size:.7rem;}
.ti-img{width:62px;height:46px;border-radius:4px;flex-shrink:0;object-fit:cover;}

/* Must Read */
.must-read-list{display:flex;flex-direction:column;gap:12px;}
.mr-item{display:grid;grid-template-columns:76px 1fr;gap:10px;padding:8px;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg);transition:background var(--transition);}
.mr-item:hover{background:var(--bg-2);}
.mr-item img{height:56px;border-radius:3px;}
.mri-body{display:flex;flex-direction:column;justify-content:center;gap:4px;}
.mri-body h4{font-size:.82rem;font-weight:700;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.mr-item:hover h4{color:var(--red);}
.mri-body span{font-size:.7rem;color:var(--text-3);}

/* Category Grid */
.cat-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;}
.cg-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:12px 8px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);font-size:.78rem;font-weight:700;text-align:center;color:var(--text-2);transition:all var(--transition);}
.cg-item:hover,.cg-item.active{background:var(--red);color:#fff;border-color:var(--red);}
.cg-icon{font-size:1.3rem;line-height:1;}
.cg-name{font-size:.75rem;}

/* Newsletter Widget */
.widget-nl{background:linear-gradient(135deg,#fef9f0,#fff4e6);border:1px solid #f5d9a8;}
[data-theme="dark"] .widget-nl{background:linear-gradient(135deg,#1f2d1a,#1a2a10);}
.nl-desc{font-size:.84rem;color:var(--text-2);margin-bottom:12px;line-height:1.6;}
.nl-form{display:flex;flex-direction:column;gap:8px;}
.nl-input{border:2px solid var(--border);border-radius:5px;padding:10px 12px;font-family:var(--font);font-size:.88rem;background:var(--card);color:var(--text);outline:none;transition:border var(--transition);}
.nl-input:focus{border-color:var(--red);}
.nl-btn{display:flex;align-items:center;justify-content:center;gap:8px;background:var(--red);color:#fff;border:none;padding:11px;border-radius:5px;font-family:var(--font);font-size:.9rem;font-weight:700;transition:background var(--transition);}
.nl-btn:hover{background:var(--red-h);}
.nl-note{font-size:.72rem;color:var(--text-3);display:flex;align-items:center;gap:5px;}
.nl-note i{color:var(--red);}

/* Social Follow Widget */
.social-follow-widget{display:flex;flex-direction:column;gap:7px;}
.sfw-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:6px;color:#fff;font-size:.84rem;transition:opacity var(--transition);text-decoration:none;}
.sfw-item:hover{opacity:.88;color:#fff;}
.sfw-item>i:first-child{font-size:1rem;width:20px;text-align:center;}
.sfw-item>div{flex:1;}
.sfw-item strong{display:block;font-size:.84rem;}
.sfw-item small{font-size:.72rem;opacity:.85;}
.sfw-arr{opacity:.6;font-size:.7rem;}
.sfw-fb{background:#1877f2;}
.sfw-tw{background:#1a1a1a;}
.sfw-ig{background:linear-gradient(45deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888);}
.sfw-yt{background:#ff0000;}
.sfw-tg{background:#0088cc;}
.sfw-rss{background:#ee802f;}

/* Photo Grid Widget */
.photo-grid-widget{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;}
.pgw-item{position:relative;border-radius:4px;overflow:hidden;aspect-ratio:1;}
.pgw-item img{width:100%;height:100%;object-fit:cover;transition:transform .3s;}
.pgw-item:hover img{transform:scale(1.1);}
.pgw-overlay{position:absolute;inset:0;background:rgba(192,0,26,.55);display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.1rem;opacity:0;transition:opacity var(--transition);}
.pgw-item:hover .pgw-overlay{opacity:1;}

/* ════════════════════════════════════════
   CATEGORY PAGE
════════════════════════════════════════ */
.cat-page-hero{background:linear-gradient(135deg,var(--navy) 0%,#1a3a5c 100%);color:#fff;padding:32px 0 24px;border-bottom:3px solid var(--red);}
.cph-container{max-width:1320px;margin:0 auto;padding:0 20px;}
.cph-inner{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:16px;}
.cph-title-row{display:flex;align-items:center;gap:12px;}
.cph-icon{width:52px;height:52px;background:var(--red);border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:1.6rem;}
.cph-title{font-size:2rem;font-weight:900;color:#fff;}
.cph-desc{color:#a0b8d0;font-size:.9rem;margin-top:6px;}
.cph-count{display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,.12);padding:5px 14px;border-radius:20px;font-size:.82rem;color:#c8d8e8;margin-top:10px;}
.cph-share{display:flex;align-items:center;gap:8px;}
.cph-share a{width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.12);display:flex;align-items:center;justify-content:center;color:#c8d8e8;font-size:.85rem;transition:background var(--transition);}
.cph-share a:hover{background:var(--red);color:#fff;}

/* Category Posts Grid */
.cat-posts-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.cat-posts-grid .ncard:first-child{grid-column:span 3;display:grid;grid-template-columns:1.2fr 1fr;gap:0;}
.cat-posts-grid .ncard:first-child .ncard-img{height:280px;}

/* ════════════════════════════════════════
   SINGLE POST PAGE
════════════════════════════════════════ */
.single-page{max-width:1320px;margin:0 auto;padding:28px 20px 60px;display:grid;grid-template-columns:1fr 320px;gap:32px;align-items:start;}
.single-container{min-width:0;}
.single-sidebar{min-width:0;}
.ss-sticky{position:sticky;top:calc(var(--header-h) + var(--nav-h) + 20px);}

/* Article */
.article-wrap{background:var(--card);border-radius:var(--radius-lg);border:1px solid var(--border);overflow:hidden;box-shadow:var(--shadow-sm);}

/* Category/Tag labels */
.art-cats{display:flex;gap:8px;flex-wrap:wrap;padding:20px 24px 0;}
.art-cat-tag{background:var(--red);color:#fff;padding:4px 12px;border-radius:3px;font-size:.72rem;font-weight:700;transition:background var(--transition);}
.art-cat-tag:hover{background:var(--red-h);color:#fff;}
.art-tag-pill{border:1px solid var(--border);color:var(--text-3);padding:3px 10px;border-radius:20px;font-size:.72rem;}

/* Headline */
.art-headline{font-size:1.9rem;font-weight:900;line-height:1.38;color:var(--text);padding:16px 24px 0;letter-spacing:-.3px;}
.art-standfirst{font-size:1.05rem;color:var(--text-2);line-height:1.75;padding:12px 24px 0;font-weight:500;}

/* Meta bar */
.art-meta-bar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:16px 24px;border-top:1px solid var(--border);border-bottom:1px solid var(--border);margin-top:16px;}
.amb-author{display:flex;align-items:center;gap:12px;}
.amb-avatar{width:46px;height:46px;border-radius:50%;border:2px solid var(--red);object-fit:cover;}
.amb-avatar-ph{background:var(--red);display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.2rem;}
.amb-name{display:block;font-size:.92rem;font-weight:700;}
.amb-role{font-size:.75rem;color:var(--text-3);display:block;margin-top:2px;}
.amb-info{display:flex;gap:16px;flex-wrap:wrap;font-size:.8rem;color:var(--text-3);}
.amb-info i{color:var(--red);margin-right:4px;}
.amb-update{color:var(--red);}

/* Share bar */
.share-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:12px 24px;background:var(--bg);border-bottom:1px solid var(--border);}
.share-bar-bottom{margin-top:0;border-top:1px solid var(--border);border-bottom:none;background:var(--bg);}
.sb-label{font-size:.82rem;font-weight:700;color:var(--text-2);display:flex;align-items:center;gap:6px;margin-right:4px;}
.sb-btn{display:inline-flex;align-items:center;gap:5px;padding:6px 12px;border-radius:4px;font-size:.78rem;font-weight:700;color:#fff;border:none;cursor:pointer;text-decoration:none;transition:opacity var(--transition);}
.sb-btn:hover{opacity:.88;color:#fff;}
.sb-fb{background:#1877f2;} .sb-tw{background:#1a1a1a;} .sb-wa{background:#25d366;} .sb-tg{background:#0088cc;}
.sb-li{background:#0077b5;} .sb-copy{background:#64748b;} .sb-print{background:#78909c;}
.sb-btn span{display:none;}

/* Hero image */
.art-hero-fig{margin:0;}
.art-hero-img{width:100%;max-height:500px;object-fit:cover;}
.art-fig-cap{padding:8px 24px;font-size:.75rem;color:var(--text-3);background:var(--bg);border-bottom:1px solid var(--border);display:flex;align-items:center;gap:6px;}
.art-fig-cap i{color:var(--text-3);}

/* Article body */
.art-body{padding:28px 24px;font-size:1.04rem;line-height:1.88;color:var(--text);}
.art-body>*+*{margin-top:1.2em;}
.art-body h2{font-size:1.35rem;font-weight:800;color:var(--navy);border-left:4px solid var(--red);padding-left:12px;margin:1.8em 0 .7em;}
[data-theme="dark"] .art-body h2{color:#e2e8f0;}
.art-body h3{font-size:1.15rem;font-weight:700;color:var(--text);margin:1.5em 0 .6em;}
.art-body p{margin-bottom:1.1em;color:var(--text);}
.art-body img{border-radius:var(--radius);box-shadow:var(--shadow-sm);margin:1.8em 0;}
.art-body a{color:var(--red);text-decoration:underline;text-underline-offset:3px;}
.art-body blockquote{border-left:4px solid var(--red);background:var(--bg);padding:16px 20px;border-radius:0 var(--radius) var(--radius) 0;margin:1.8em 0;font-style:italic;color:var(--text-2);font-size:1.05rem;line-height:1.8;}
.art-body ul,.art-body ol{padding-left:1.4em;margin:1em 0;}
.art-body li{margin-bottom:.5em;}
.art-body table{width:100%;border-collapse:collapse;margin:1.5em 0;font-size:.92rem;}
.art-body th{background:var(--navy);color:#fff;padding:10px 14px;text-align:left;}
.art-body td{padding:9px 14px;border-bottom:1px solid var(--border);}
.art-body tr:nth-child(even) td{background:var(--bg);}

/* Tags section */
.art-tags-section{padding:16px 24px;border-top:1px solid var(--border);display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.ats-label{font-size:.84rem;font-weight:700;color:var(--text-2);white-space:nowrap;}
.art-tag{border:1px solid var(--border);padding:4px 12px;border-radius:20px;font-size:.78rem;color:var(--text-3);transition:all var(--transition);}
.art-tag:hover{background:var(--red);color:#fff;border-color:var(--red);}

/* Author box */
.author-box{display:flex;align-items:flex-start;gap:16px;padding:20px 24px;background:var(--bg);border-top:2px solid var(--red);}
.ab-avatar{width:64px;height:64px;border-radius:50%;border:3px solid var(--red);flex-shrink:0;object-fit:cover;}
.ab-avatar-ph{background:var(--red);display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.6rem;}
.ab-body{flex:1;}
.ab-name{font-size:1rem;font-weight:800;margin-bottom:3px;}
.ab-role{font-size:.78rem;color:var(--red);font-weight:600;display:block;margin-bottom:8px;}
.ab-bio{font-size:.84rem;color:var(--text-2);line-height:1.7;}

/* Disclaimer */
.art-disclaimer{display:flex;align-items:flex-start;gap:10px;padding:14px 24px;background:#fffbf0;border-top:1px solid #f5d9a8;font-size:.8rem;color:#7a6a40;line-height:1.6;}
[data-theme="dark"] .art-disclaimer{background:#1a2010;border-color:#2a3820;color:#6b7a50;}
.art-disclaimer i{color:var(--gold);margin-top:2px;flex-shrink:0;}

/* Related posts */
.related-section{background:var(--card);border-radius:var(--radius-lg);padding:22px;margin-top:24px;border:1px solid var(--border);box-shadow:var(--shadow-sm);}
.rs-head{display:flex;align-items:center;gap:8px;padding-bottom:14px;margin-bottom:16px;border-bottom:2px solid var(--border);}
.rs-head h2{font-size:1.05rem;font-weight:800;display:flex;align-items:center;gap:8px;}
.rs-head i{color:var(--red);}
.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.rg-card{display:block;border-radius:var(--radius);overflow:hidden;background:var(--bg);border:1px solid var(--border);transition:transform var(--transition),box-shadow var(--transition);}
.rg-card:hover{transform:translateY(-3px);box-shadow:var(--shadow);}
.rg-card figure{height:130px;overflow:hidden;}
.rg-card figure img{width:100%;height:100%;transition:transform .35s;}
.rg-card:hover figure img{transform:scale(1.06);}
.rgc-body{padding:12px;}
.rgc-cat{font-size:.68rem;color:var(--red);font-weight:700;text-transform:uppercase;display:block;margin-bottom:5px;}
.rgc-body h4{font-size:.84rem;font-weight:700;line-height:1.4;color:var(--text);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:6px;}
.rg-card:hover h4{color:var(--red);}
.rgc-body span{font-size:.72rem;color:var(--text-3);}

/* ════════════════════════════════════════
   CATEGORY PAGE LAYOUT
════════════════════════════════════════ */
.cat-page-wrap{max-width:1320px;margin:0 auto;padding:28px 20px 60px;display:grid;grid-template-columns:1fr 320px;gap:32px;}

/* ════════════════════════════════════════
   SEARCH PAGE
════════════════════════════════════════ */
.search-page-hero{background:linear-gradient(135deg,var(--navy),#1e3a5c);padding:40px 0;}
.sph-container{max-width:1320px;margin:0 auto;padding:0 20px;}
.sph-container h1{color:#fff;font-size:1.8rem;font-weight:900;margin-bottom:16px;}
.search-big-form{display:flex;max-width:680px;border-radius:8px;overflow:hidden;box-shadow:0 4px 20px rgba(0,0,0,.25);}
.sbi{flex:1;border:none;outline:none;padding:14px 20px;font-family:var(--font);font-size:1rem;color:var(--text);background:#fff;}
.sb-submit{background:var(--red);color:#fff;border:none;padding:14px 28px;font-family:var(--font);font-size:1rem;font-weight:700;cursor:pointer;transition:background var(--transition);}
.sb-submit:hover{background:var(--red-h);}
.sph-meta{color:#8daabf;font-size:.85rem;margin-top:12px;}
.search-page-body{max-width:1320px;margin:0 auto;padding:28px 20px 60px;}

/* ════════════════════════════════════════
   404 PAGE
════════════════════════════════════════ */
.notfound-page{text-align:center;padding:80px 20px;max-width:600px;margin:0 auto;}
.nf-num{font-size:7rem;font-weight:900;color:var(--red);line-height:1;letter-spacing:-4px;}
.nf-title{font-size:1.8rem;font-weight:800;margin:12px 0 10px;}
.nf-text{color:var(--text-3);margin-bottom:28px;font-size:1rem;}
.nf-home{display:inline-flex;align-items:center;gap:8px;background:var(--red);color:#fff;padding:12px 32px;border-radius:25px;font-weight:700;font-size:.95rem;}
.nf-home:hover{background:var(--red-h);color:#fff;}
.nf-search{max-width:380px;margin:30px auto 0;display:flex;border:2px solid var(--red);border-radius:25px;overflow:hidden;}
.nf-search input{flex:1;border:none;outline:none;padding:10px 18px;font-family:var(--font);background:var(--card);color:var(--text);}
.nf-search button{background:var(--red);color:#fff;border:none;padding:10px 20px;font-size:.9rem;cursor:pointer;}

/* ════════════════════════════════════════
   FOOTER
════════════════════════════════════════ */
/* Newsletter Banner */
.footer-nl-banner{background:linear-gradient(135deg,var(--red) 0%,#8b0014 100%);}
.fnl-container{max-width:1320px;margin:0 auto;padding:28px 20px;display:flex;align-items:center;justify-content:space-between;gap:30px;flex-wrap:wrap;}
.fnl-left h3{font-size:1.15rem;font-weight:800;color:#fff;margin-bottom:6px;}
.fnl-left p{font-size:.88rem;color:rgba(255,255,255,.8);}
.fnl-form{display:flex;gap:0;border-radius:5px;overflow:hidden;box-shadow:0 4px 14px rgba(0,0,0,.2);min-width:340px;}
.fnl-input{flex:1;border:none;outline:none;padding:12px 16px;font-family:var(--font);font-size:.9rem;}
.fnl-btn{background:var(--navy);color:#fff;border:none;padding:12px 20px;font-family:var(--font);font-size:.88rem;font-weight:700;cursor:pointer;display:flex;align-items:center;gap:8px;white-space:nowrap;}
.fnl-btn:hover{background:#0d2540;}

/* Footer main */
.footer-main{background:#0d1f35;color:#8da4bd;padding:50px 0 30px;}
.fm-container{max-width:1320px;margin:0 auto;padding:0 20px;}
.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:40px;}
.footer-logo-text{font-size:1.4rem;font-weight:900;letter-spacing:1px;margin-bottom:14px;}
.fl-fortune{color:var(--red-lt);}
.fl-post{color:#fff;}
.fl-india{font-size:.75rem;color:#5a7a9a;letter-spacing:3px;display:block;margin-top:-4px;}
.fa-desc{font-size:.86rem;line-height:1.85;color:#7a96b0;}
.footer-social-row{display:flex;gap:8px;margin-top:18px;}
.footer-social-row a{width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;color:#8da4bd;font-size:.85rem;transition:all var(--transition);}
.footer-social-row a:hover{background:var(--red);color:#fff;}
.app-badges{display:flex;gap:8px;margin-top:16px;flex-wrap:wrap;}
.app-badge{display:flex;align-items:center;gap:8px;background:rgba(255,255,255,.07);padding:8px 14px;border-radius:6px;border:1px solid rgba(255,255,255,.1);cursor:default;}
.app-badge>i{font-size:1.2rem;color:#c8d8e8;}
.app-badge small{display:block;font-size:.65rem;color:#6a8aaa;}
.app-badge strong{display:block;font-size:.82rem;color:#c8d8e8;}
.footer-col-title{font-size:.92rem;font-weight:700;color:#d0dce8;margin-bottom:16px;padding-bottom:10px;border-bottom:2px solid var(--red);display:inline-block;}
.footer-links li{margin-bottom:7px;}
.footer-links a{font-size:.84rem;color:#7a96b0;display:flex;align-items:center;gap:7px;transition:all var(--transition);}
.footer-links a:hover{color:#fff;padding-left:4px;}
.footer-links a i{color:var(--red);font-size:.72rem;}
.footer-contact-list li{display:flex;align-items:flex-start;gap:10px;margin-bottom:10px;font-size:.84rem;color:#7a96b0;}
.footer-contact-list i{color:var(--red);margin-top:3px;flex-shrink:0;}
.footer-contact-list a{color:#7a96b0;}
.footer-contact-list a:hover{color:#fff;}
.footer-badges{display:flex;flex-direction:column;gap:6px;margin-top:16px;}
.fb-badge{display:flex;align-items:center;gap:8px;background:rgba(255,255,255,.05);padding:7px 12px;border-radius:4px;font-size:.78rem;color:#6a8aaa;border:1px solid rgba(255,255,255,.07);}
.fb-badge i{color:var(--gold);}

/* Footer bottom */
.footer-bottom{background:#091528;border-top:1px solid rgba(255,255,255,.07);}
.fbot-container{max-width:1320px;margin:0 auto;padding:16px 20px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;}
.fbot-copy{font-size:.82rem;color:#4a6070;}
.fbot-copy i{margin:0 2px;}
.fbot-legal{display:flex;gap:18px;flex-wrap:wrap;}
.fbot-legal a{font-size:.8rem;color:#4a6070;transition:color var(--transition);}
.fbot-legal a:hover{color:#c8d8e8;}

/* ════════════════════════════════════════
   SCROLL TO TOP
════════════════════════════════════════ */
.scroll-top-btn{position:fixed;bottom:24px;right:24px;width:46px;height:46px;background:var(--red);color:#fff;border:none;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1rem;box-shadow:0 4px 16px rgba(192,0,26,.35);z-index:999;transition:background var(--transition),transform var(--transition);}
.scroll-top-btn:hover{background:var(--red-h);transform:translateY(-3px);}

/* ════════════════════════════════════════
   TOAST
════════════════════════════════════════ */
.toast-box{position:fixed;bottom:80px;right:24px;background:var(--navy);color:#fff;padding:12px 20px;border-radius:8px;font-size:.88rem;box-shadow:var(--shadow-lg);z-index:9999;transform:translateY(20px);opacity:0;pointer-events:none;transition:all .3s ease;}
.toast-box.show{transform:translateY(0);opacity:1;}

/* ════════════════════════════════════════
   COOKIE BAR
════════════════════════════════════════ */
.cookie-bar{position:fixed;bottom:0;left:0;right:0;background:var(--navy);color:#c8d8e8;padding:14px 20px;z-index:9998;border-top:3px solid var(--red);box-shadow:0 -4px 20px rgba(0,0,0,.3);}
.cb-inner{max-width:1320px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;}
.cb-inner p{font-size:.85rem;color:#9ab5cc;}
.cb-inner a{color:var(--red);}
.cb-btns{display:flex;gap:8px;flex-shrink:0;}
.cb-accept{background:var(--red);color:#fff;border:none;padding:8px 20px;border-radius:4px;font-family:var(--font);font-size:.84rem;font-weight:700;cursor:pointer;}
.cb-decline{background:rgba(255,255,255,.08);color:#9ab5cc;border:1px solid rgba(255,255,255,.15);padding:8px 16px;border-radius:4px;font-family:var(--font);font-size:.84rem;cursor:pointer;}

/* ════════════════════════════════════════
   PAGINATION
════════════════════════════════════════ */
.pagination-wrap{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-top:28px;padding-top:20px;border-top:1px solid var(--border);}
.pag-btn{display:inline-flex;align-items:center;gap:7px;padding:10px 20px;border-radius:5px;font-size:.88rem;font-weight:700;border:2px solid var(--border);color:var(--text-2);background:var(--card);transition:all var(--transition);}
.pag-btn:hover,.pag-btn.active{background:var(--red);color:#fff;border-color:var(--red);}
.pag-info{font-size:.84rem;color:var(--text-3);}

/* ════════════════════════════════════════
   UTILITY
════════════════════════════════════════ */
.load-more-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:12px;background:var(--bg);border:2px solid var(--border);border-radius:5px;color:var(--text-2);font-size:.9rem;font-weight:700;transition:all var(--transition);cursor:pointer;margin-top:16px;}
.load-more-btn:hover{background:var(--red);border-color:var(--red);color:#fff;}

/* ════════════════════════════════════════
   RESPONSIVE
════════════════════════════════════════ */
@media (max-width:1200px) {
  .spot-container{grid-template-columns:1fr 300px;}.spot-ticker-col{display:none;}
  .footer-grid{grid-template-columns:1fr 1fr;gap:28px;}
  .pb-container{grid-template-columns:1fr 300px;}
}
@media (max-width:1024px) {
  .spot-container{grid-template-columns:1fr;}
  .spot-side{display:grid;grid-template-columns:1fr 1fr;}
  .spot-mini-list{display:none;}
  .cat-layout{grid-template-columns:1fr;}
  .cat-posts-grid .ncard:first-child{grid-column:auto;display:block;}
  .cat-posts-grid .ncard:first-child .ncard-img{height:200px;}
  .pb-container,.cat-page-wrap,.single-page{grid-template-columns:1fr;}
  .sidebar-area,.single-sidebar{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
  .widget-nl{grid-column:1/-1;}
  .related-grid{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:900px) {
  .news-row{grid-template-columns:1fr 1fr;}
  .ncard-lg{grid-column:span 2;display:block;}
  .ncard-lg .ncard-img{height:200px;}
  .cat-posts-grid{grid-template-columns:1fr 1fr;}
}
@media (max-width:768px) {
  :root{--header-h:60px;}
  .topbar{display:none;}
  .site-header{top:0;}
  .main-nav{top:60px;}
  .header-container{padding:0 14px;}
  .logo-fortune{font-size:1.2rem;} .logo-post{font-size:1.2rem;}
  .header-banner{display:none;}
  .btn-hdr-subscribe span,.btn-hdr-login span{display:none;}
  .btn-hdr-subscribe,.btn-hdr-login{padding:8px 10px;}
  .nav-toggle{display:flex;}
  .nav-menu{display:none;flex-direction:column;position:absolute;top:100%;left:0;right:0;background:var(--navy-lt);z-index:300;border-top:2px solid var(--red);max-height:70vh;overflow-y:auto;}
  .nav-menu.open{display:flex;}
  .nav-menu>li>a.nav-link{height:44px;border-bottom:1px solid rgba(255,255,255,.06);border-bottom-color:rgba(255,255,255,.06);}
  .mega-menu{position:static;box-shadow:none;border:none;border-top:1px solid rgba(255,255,255,.07);border-radius:0;opacity:1;visibility:visible;transform:none;display:none;background:rgba(0,0,0,.2);}
  .has-mega:hover .mega-menu,.has-mega:focus-within .mega-menu{display:block;}
  .spot-container{padding:14px;}
  .spot-fig{height:260px;}
  .spot-title{font-size:1.2rem;}
  .spot-side{grid-template-columns:1fr;}
  .news-row{grid-template-columns:1fr;}
  .ncard-lg{grid-column:auto;}
  .cat-posts-grid{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr;}
  .footer-nl-banner .fnl-container{flex-direction:column;align-items:flex-start;}
  .fnl-form{width:100%;min-width:0;}
  .fbot-container{flex-direction:column;text-align:center;}
  .fbot-legal{justify-content:center;}
  .art-headline{font-size:1.45rem;padding:14px 16px 0;}
  .art-standfirst{padding:10px 16px 0;}
  .art-meta-bar{padding:12px 16px;flex-direction:column;align-items:flex-start;}
  .share-bar{padding:10px 16px;}
  .art-body{padding:20px 16px;}
  .author-box{flex-direction:column;padding:16px;}
  .related-grid{grid-template-columns:1fr;}
  .sidebar-area,.single-sidebar{grid-template-columns:1fr;}
  .sb-btn span{display:none;}
  .cph-inner{flex-direction:column;}
  .market-bar{display:none;}
}
@media (max-width:480px) {
  .spot-container{padding:10px;}
  .spot-fig{height:200px;}
  .spot-title{font-size:1.05rem;}
  .spot-excerpt{display:none;}
  .header-container{gap:10px;}
  .logo-emblem{width:36px;height:36px;}
  .logo-fortune{font-size:1rem;} .logo-post{font-size:1rem;}
  .logo-sub{display:none;}
  .art-headline{font-size:1.25rem;}
  .search-big-form,.nf-search{flex-direction:column;}
}

/* Print styles */
@media print {
  .topbar,.main-nav,.breaking-bar,.site-header,.share-bar,.cookie-bar,.scroll-top-btn,.sidebar-area,.single-sidebar,.related-section,.footer-nl-banner,.site-footer,.reading-bar{display:none !important;}
  .single-page{grid-template-columns:1fr;}
  body{background:#fff;color:#000;}
  .art-body a{color:#000;text-decoration:none;}
}

/* ================================================================
   AUTHORS PAGES — CSS
   ================================================================ */

/* ── Verified Tick Reusable ── */
.verified-tick {
    display:inline-flex;
    align-items:center;
    margin-left:5px;
    vertical-align:middle;
    flex-shrink:0;
}
.verified-tick svg {
    width:20px;
    height:20px;
    filter:drop-shadow(0 1px 3px rgba(29,161,242,.35));
    transition:transform .2s;
}
.verified-tick:hover svg { transform:scale(1.15); }

.verified-tick-sm {
    display:inline-flex;
    align-items:center;
    margin-left:4px;
    vertical-align:middle;
    flex-shrink:0;
}
.verified-tick-sm svg { width:15px; height:15px; }

/* ════════════════════════════
   AUTHORS HERO BANNER
════════════════════════════ */
.authors-hero {
    background:linear-gradient(135deg, #0b1d35 0%, #1a3a5c 50%, #0e2a48 100%);
    padding:60px 0 50px;
    text-align:center;
    border-bottom:3px solid var(--red);
    position:relative;
    overflow:hidden;
}
.authors-hero::before {
    content:'';
    position:absolute;
    inset:0;
    background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.03'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
}
.ah-container {
    max-width:800px;
    margin:0 auto;
    padding:0 20px;
    position:relative;
    z-index:1;
}
.ah-badge {
    width:70px;
    height:70px;
    background:var(--red);
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:1.8rem;
    color:#fff;
    margin:0 auto 20px;
    box-shadow:0 6px 24px rgba(192,0,26,.4);
}
.authors-hero h1 {
    font-size:2.4rem;
    font-weight:900;
    color:#fff;
    margin-bottom:12px;
    letter-spacing:-.5px;
}
.authors-hero p {
    font-size:1rem;
    color:#8da4bd;
    line-height:1.75;
    max-width:600px;
    margin:0 auto 28px;
}
.ah-stats {
    display:inline-flex;
    align-items:center;
    gap:0;
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.12);
    border-radius:40px;
    padding:12px 24px;
    backdrop-filter:blur(8px);
}
.ah-stat {
    display:flex;
    flex-direction:column;
    align-items:center;
    padding:0 20px;
}
.ah-stat span {
    font-size:1.5rem;
    font-weight:900;
    color:#fff;
    line-height:1;
}
.ah-stat small {
    font-size:.75rem;
    color:#8da4bd;
    margin-top:4px;
}
.ah-stat-sep {
    width:1px;
    height:36px;
    background:rgba(255,255,255,.15);
}

/* ════════════════════════════
   AUTHORS PAGE WRAPPER
════════════════════════════ */
.authors-page-wrap {
    max-width:1320px;
    margin:0 auto;
    padding:32px 20px 60px;
}
.authors-section {
    margin-bottom:40px;
}
.as-head {
    display:flex;
    align-items:center;
    gap:10px;
    padding-bottom:14px;
    margin-bottom:22px;
    border-bottom:2px solid var(--border);
}
.as-head h2 {
    font-size:1.15rem;
    font-weight:800;
    display:flex;
    align-items:center;
    gap:8px;
}
.as-head h2 i { color:var(--red); }
.as-count {
    margin-left:auto;
    background:var(--bg);
    border:1px solid var(--border);
    color:var(--text-3);
    font-size:.78rem;
    padding:3px 12px;
    border-radius:20px;
}

/* ════════════════════════════
   FEATURED AUTHORS (Top 3)
════════════════════════════ */
.authors-featured-grid {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:22px;
}
.afc-card {
    background:var(--card);
    border:1px solid var(--border);
    border-radius:var(--radius-lg);
    overflow:hidden;
    display:flex;
    flex-direction:column;
    transition:transform .25s,box-shadow .25s;
    box-shadow:var(--shadow-sm);
    cursor:pointer;
}
.afc-card:hover {
    transform:translateY(-5px);
    box-shadow:var(--shadow-lg);
}
.afc-top {
    display:flex;
    gap:16px;
    padding:22px 20px 16px;
    border-bottom:1px solid var(--border);
    flex:1;
}
.afc-avatar-wrap {
    position:relative;
    flex-shrink:0;
    align-self:flex-start;
}
.afc-avatar {
    width:80px;
    height:80px;
    border-radius:50%;
    border:3px solid var(--red);
    object-fit:cover;
}
.afc-avatar-ph {
    background:linear-gradient(135deg,var(--red),#8b0014);
    display:flex;
    align-items:center;
    justify-content:center;
    color:#fff;
    font-size:2rem;
}
/* Big verified badge on avatar */
.verified-badge {
    position:absolute;
    bottom:-2px;
    right:-2px;
    width:26px;
    height:26px;
    background:#1DA1F2;
    border-radius:50%;
    border:2px solid var(--card);
    display:flex;
    align-items:center;
    justify-content:center;
    color:#fff;
    font-size:.7rem;
    box-shadow:0 2px 8px rgba(29,161,242,.4);
}
.afc-info { flex:1; min-width:0; }
.afc-name {
    font-size:1rem;
    font-weight:800;
    color:var(--text);
    display:flex;
    align-items:center;
    gap:5px;
    flex-wrap:wrap;
    line-height:1.3;
    margin-bottom:4px;
}
.afc-card:hover .afc-name { color:var(--red); }
.afc-role {
    font-size:.75rem;
    color:var(--red);
    font-weight:600;
    display:block;
    margin-bottom:8px;
}
.afc-bio {
    font-size:.83rem;
    color:var(--text-3);
    line-height:1.65;
    display:-webkit-box;
    -webkit-line-clamp:3;
    -webkit-box-orient:vertical;
    overflow:hidden;
}
.afc-bottom {
    padding:12px 20px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    background:var(--bg);
}
.afc-stats {
    display:flex;
    align-items:center;
    gap:12px;
    font-size:.8rem;
    color:var(--text-3);
}
.afc-stats i { color:var(--red); margin-right:4px; }
.afc-social {
    display:flex;
    gap:5px;
}
.afc-social-dot {
    width:26px;
    height:26px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:.72rem;
    color:#fff;
    cursor:default;
}
.soc-twitter,.soc-tw   { background:#1a1a1a; }
.soc-instagram,.soc-ig { background:linear-gradient(45deg,#f09433,#e6683c,#dc2743,#cc2366); }
.soc-facebook,.soc-fb  { background:#1877f2; }
.soc-linkedin,.soc-li  { background:#0077b5; }
.soc-youtube,.soc-yt   { background:#ff0000; }
.soc-share             { background:var(--text-3); }

.afc-readmore {
    font-size:.8rem;
    color:var(--red);
    font-weight:700;
    display:flex;
    align-items:center;
    gap:5px;
    transition:gap .2s;
    white-space:nowrap;
}
.afc-card:hover .afc-readmore { gap:8px; }

/* ════════════════════════════
   ALL AUTHORS GRID
════════════════════════════ */
.authors-grid {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:18px;
}
.agc-card {
    background:var(--card);
    border:1px solid var(--border);
    border-radius:var(--radius-lg);
    overflow:hidden;
    display:flex;
    flex-direction:column;
    transition:transform .22s,box-shadow .22s;
    box-shadow:var(--shadow-sm);
    cursor:pointer;
}
.agc-card:hover {
    transform:translateY(-4px);
    box-shadow:var(--shadow);
}
.agc-avatar-wrap {
    position:relative;
    width:100%;
    aspect-ratio:1;
    background:linear-gradient(135deg,#0b1d35,#1a3a5c);
    overflow:hidden;
}
.agc-avatar {
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .4s;
}
.agc-card:hover .agc-avatar { transform:scale(1.06); }
.agc-avatar-ph {
    width:100%;
    height:100%;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:3rem;
    color:rgba(255,255,255,.5);
}
.agc-verified {
    position:absolute;
    bottom:8px;
    right:8px;
    width:28px;
    height:28px;
    border-radius:50%;
    border:2px solid #fff;
    background:#fff;
    box-shadow:0 2px 8px rgba(0,0,0,.2);
    overflow:hidden;
}
.agc-verified svg {
    width:100%;
    height:100%;
}
.agc-body { padding:14px; flex:1; display:flex; flex-direction:column; gap:4px; }
.agc-name {
    font-size:.92rem;
    font-weight:800;
    display:flex;
    align-items:center;
    gap:4px;
    flex-wrap:wrap;
    color:var(--text);
}
.agc-card:hover .agc-name { color:var(--red); }
.agc-role { font-size:.72rem; color:var(--red); font-weight:600; }
.agc-bio {
    font-size:.78rem;
    color:var(--text-3);
    line-height:1.55;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
    flex:1;
    margin-top:2px;
}
.agc-footer {
    display:flex;
    align-items:center;
    justify-content:space-between;
    margin-top:8px;
    padding-top:8px;
    border-top:1px dashed var(--border);
}
.agc-posts { font-size:.76rem; color:var(--text-3); display:flex; align-items:center; gap:4px; }
.agc-posts i { color:var(--red); }
.agc-social-dots { display:flex; gap:4px; }
.asd-dot {
    width:22px;
    height:22px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:.65rem;
    color:#fff;
}

/* ════════════════════════════
   JOIN TEAM BANNER
════════════════════════════ */
.join-team-banner {
    background:linear-gradient(135deg,var(--navy) 0%,#1a3a5c 100%);
    border-radius:var(--radius-lg);
    padding:36px 32px;
    margin-top:12px;
}
.jtb-inner {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
    flex-wrap:wrap;
}
.jtb-left h3 { font-size:1.3rem; font-weight:800; color:#fff; margin-bottom:8px; }
.jtb-left p  { font-size:.9rem; color:#8da4bd; }
.jtb-right   { display:flex; gap:12px; flex-wrap:wrap; }
.jtb-btn {
    display:inline-flex;
    align-items:center;
    gap:8px;
    background:var(--red);
    color:#fff;
    padding:11px 24px;
    border-radius:5px;
    font-size:.9rem;
    font-weight:700;
    transition:background .2s;
}
.jtb-btn:hover { background:var(--red-h); color:#fff; }
.jtb-btn-outline {
    display:inline-flex;
    align-items:center;
    padding:11px 24px;
    border-radius:5px;
    font-size:.9rem;
    font-weight:700;
    border:2px solid rgba(255,255,255,.2);
    color:#c8d8e8;
    transition:all .2s;
}
.jtb-btn-outline:hover { border-color:#fff; color:#fff; }

/* ════════════════════════════
   SINGLE AUTHOR — PROFILE HERO
════════════════════════════ */
.author-profile-hero {
    background:linear-gradient(160deg, #0b1d35 0%, #14304f 60%, #0e2a48 100%);
    position:relative;
    overflow:hidden;
    padding:50px 0 40px;
    border-bottom:3px solid var(--red);
}
.aph-bg-pattern {
    position:absolute;
    inset:0;
    background:
        radial-gradient(ellipse at 10% 50%, rgba(192,0,26,.18) 0%, transparent 50%),
        radial-gradient(ellipse at 90% 20%, rgba(29,161,242,.12) 0%, transparent 50%);
}
.aph-container {
    max-width:1320px;
    margin:0 auto;
    padding:0 20px;
    position:relative;
    z-index:1;
}
/* Identity row */
.aph-identity {
    display:grid;
    grid-template-columns:auto 1fr;
    gap:32px;
    align-items:start;
    margin-bottom:32px;
}
.aph-avatar-wrap {
    position:relative;
    flex-shrink:0;
    align-self:flex-start;
}
.aph-avatar {
    width:140px;
    height:140px;
    border-radius:50%;
    border:4px solid rgba(255,255,255,.2);
    object-fit:cover;
    box-shadow:0 8px 32px rgba(0,0,0,.4);
    display:block;
}
.aph-avatar-ph {
    width:140px;
    height:140px;
    border-radius:50%;
    background:linear-gradient(135deg,var(--red),#8b0014);
    display:flex;
    align-items:center;
    justify-content:center;
    color:#fff;
    font-size:3.5rem;
    border:4px solid rgba(255,255,255,.15);
}
/* Large verified badge on avatar */
.aph-verified-badge {
    position:absolute;
    bottom:4px;
    right:4px;
    width:38px;
    height:38px;
    background:#fff;
    border-radius:50%;
    padding:3px;
    box-shadow:0 3px 12px rgba(29,161,242,.5);
    cursor:pointer;
    transition:transform .2s;
}
.aph-verified-badge:hover { transform:scale(1.12); }
.aph-verified-badge svg { width:100%; height:100%; }

/* Name + Info */
.aph-info { flex:1; min-width:0; }
.aph-name-row {
    display:flex;
    align-items:center;
    gap:10px;
    flex-wrap:wrap;
    margin-bottom:10px;
}
.aph-name {
    font-size:2.2rem;
    font-weight:900;
    color:#fff;
    letter-spacing:-.5px;
    line-height:1.2;
}
.aph-tick-wrap {
    position:relative;
    cursor:pointer;
    display:flex;
    align-items:center;
}
.aph-tick-svg {
    width:30px;
    height:30px;
    filter:drop-shadow(0 2px 8px rgba(29,161,242,.5));
    transition:transform .2s;
}
.aph-tick-wrap:hover .aph-tick-svg { transform:scale(1.2); }
.aph-tick-tooltip {
    position:absolute;
    bottom:calc(100% + 8px);
    left:50%;
    transform:translateX(-50%);
    background:#fff;
    color:var(--navy);
    font-size:.75rem;
    font-weight:700;
    padding:6px 12px;
    border-radius:5px;
    white-space:nowrap;
    box-shadow:0 4px 16px rgba(0,0,0,.2);
    pointer-events:none;
    opacity:0;
    transition:opacity .2s;
    z-index:10;
}
.aph-tick-tooltip::after {
    content:'';
    position:absolute;
    top:100%;
    left:50%;
    transform:translateX(-50%);
    border:5px solid transparent;
    border-top-color:#fff;
}
.aph-tick-wrap:hover .aph-tick-tooltip { opacity:1; }

.aph-role-row {
    display:flex;
    align-items:center;
    gap:14px;
    flex-wrap:wrap;
    margin-bottom:14px;
}
.aph-role,.aph-org {
    display:flex;
    align-items:center;
    gap:6px;
    font-size:.85rem;
    color:#8da4bd;
}
.aph-role i,.aph-org i { color:var(--red); }
.aph-website {
    display:flex;
    align-items:center;
    gap:6px;
    font-size:.82rem;
    color:#5ba0d0;
    transition:color .2s;
}
.aph-website:hover { color:#7ec8f0; }

.aph-bio {
    font-size:.97rem;
    color:#9ab5cc;
    line-height:1.8;
    max-width:680px;
    margin-bottom:20px;
}

/* Social buttons */
.aph-socials {
    display:flex;
    gap:8px;
    flex-wrap:wrap;
}
.aph-social-btn {
    display:inline-flex;
    align-items:center;
    gap:7px;
    padding:8px 16px;
    border-radius:5px;
    font-size:.82rem;
    font-weight:700;
    color:#fff;
    border:none;
    cursor:pointer;
    transition:opacity .2s,transform .2s;
    text-decoration:none;
    font-family:var(--font);
}
.aph-social-btn:hover { opacity:.88; transform:translateY(-2px); color:#fff; }
.aph-soc-twitter   { background:#1a1a1a; }
.aph-soc-instagram { background:linear-gradient(45deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888); }
.aph-soc-facebook  { background:#1877f2; }
.aph-soc-linkedin  { background:#0077b5; }
.aph-soc-youtube   { background:#ff0000; }
.aph-soc-share     { background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.2); }

/* Stats row */
.aph-stats-row {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:16px;
    padding-top:28px;
    border-top:1px solid rgba(255,255,255,.1);
}
.aph-stat-card {
    background:rgba(255,255,255,.06);
    border:1px solid rgba(255,255,255,.1);
    border-radius:var(--radius);
    padding:16px 20px;
    display:flex;
    flex-direction:column;
    gap:5px;
    text-align:center;
    transition:background .2s;
}
.aph-stat-card:hover { background:rgba(255,255,255,.1); }
.asc-num {
    font-size:1.8rem;
    font-weight:900;
    color:#fff;
    line-height:1;
}
.asc-label {
    font-size:.75rem;
    color:#6a8aaa;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:5px;
}
.asc-label i { color:var(--red); }

/* ════════════════════════════
   AUTHOR ARTICLES SECTION
════════════════════════════ */
.author-articles-wrap {
    background:var(--bg);
    padding:32px 0 60px;
}
.aaw-container {
    max-width:1320px;
    margin:0 auto;
    padding:0 20px;
    display:grid;
    grid-template-columns:1fr 320px;
    gap:30px;
    align-items:start;
}
.aaw-main { min-width:0; }
.aaw-sidebar { min-width:0; }

/* Author posts list */
.author-posts-list {
    border:1px solid var(--border);
    border-top:none;
    border-radius:0 0 var(--radius-lg) var(--radius-lg);
    overflow:hidden;
    background:var(--card);
}

/* Featured first post */
.apl-featured {
    display:grid;
    grid-template-columns:1fr 1fr;
    border-bottom:2px solid var(--red);
}
.aplf-img {
    display:block;
    position:relative;
    height:280px;
    overflow:hidden;
}
.aplf-img img {
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .4s;
}
.apl-featured:hover .aplf-img img { transform:scale(1.04); }
.aplf-body {
    padding:28px 24px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    gap:12px;
}
.aplf-body h2 {
    font-size:1.25rem;
    font-weight:800;
    line-height:1.4;
    color:var(--text);
}
.aplf-body h2 a:hover { color:var(--red); }
.aplf-body p {
    font-size:.9rem;
    color:var(--text-2);
    line-height:1.7;
    display:-webkit-box;
    -webkit-line-clamp:3;
    -webkit-box-orient:vertical;
    overflow:hidden;
}
.apl-meta {
    display:flex;
    align-items:center;
    gap:12px;
    flex-wrap:wrap;
    font-size:.78rem;
    color:var(--text-3);
}
.apl-meta i { color:var(--red); margin-right:3px; }
.apl-cat-tag {
    background:var(--red);
    color:#fff;
    padding:2px 10px;
    border-radius:3px;
    font-size:.7rem;
    font-weight:700;
}
.apl-readbtn {
    display:inline-flex;
    align-items:center;
    gap:6px;
    background:var(--red);
    color:#fff;
    padding:9px 18px;
    border-radius:4px;
    font-size:.84rem;
    font-weight:700;
    align-self:flex-start;
    transition:background .2s,gap .2s;
}
.apl-readbtn:hover { background:var(--red-h); gap:9px; color:#fff; }

/* Regular list cards */
.apl-card {
    display:grid;
    grid-template-columns:130px 1fr;
    gap:0;
    border-bottom:1px solid var(--border);
    transition:background .2s;
}
.apl-card:last-child { border-bottom:none; }
.apl-card:hover { background:var(--bg); }
.apl-thumb {
    display:block;
    position:relative;
    height:96px;
    overflow:hidden;
    margin:12px 0 12px 12px;
    border-radius:var(--radius);
}
.apl-thumb img {
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .3s;
}
.apl-card:hover .apl-thumb img { transform:scale(1.06); }
.apl-body {
    padding:14px 16px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    gap:6px;
}
.apl-body h3 {
    font-size:.9rem;
    font-weight:700;
    line-height:1.45;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
}
.apl-body h3 a:hover { color:var(--red); }
.apl-excerpt {
    font-size:.8rem;
    color:var(--text-3);
    line-height:1.6;
    display:-webkit-box;
    -webkit-line-clamp:1;
    -webkit-box-orient:vertical;
    overflow:hidden;
}

/* ════════════════════════════
   AUTHOR QUICK CARD (Sidebar)
════════════════════════════ */
.author-quick-card {
    text-align:center;
}
.aqc-top {
    position:relative;
    display:inline-block;
    margin-bottom:14px;
}
.aqc-avatar {
    width:88px;
    height:88px;
    border-radius:50%;
    border:3px solid var(--red);
    object-fit:cover;
    display:block;
    margin:0 auto;
}
.aqc-avatar-ph {
    width:88px;
    height:88px;
    border-radius:50%;
    background:linear-gradient(135deg,var(--red),#8b0014);
    display:flex;
    align-items:center;
    justify-content:center;
    color:#fff;
    font-size:2.2rem;
    margin:0 auto;
}
.aqc-verified-mini {
    position:absolute;
    bottom:0;
    right:0;
    width:28px;
    height:28px;
    border-radius:50%;
    background:#fff;
    border:2px solid var(--card);
    box-shadow:0 2px 8px rgba(29,161,242,.4);
    overflow:hidden;
}
.aqc-verified-mini svg { width:100%; height:100%; }
.aqc-name {
    font-size:1rem;
    font-weight:800;
    color:var(--text);
    display:flex;
    align-items:center;
    justify-content:center;
    gap:5px;
    flex-wrap:wrap;
    margin-bottom:4px;
}
.aqc-role {
    font-size:.75rem;
    color:var(--red);
    font-weight:600;
    display:block;
    margin-bottom:14px;
}
.aqc-stats {
    display:flex;
    justify-content:center;
    gap:24px;
    padding:12px 0;
    border-top:1px solid var(--border);
    border-bottom:1px solid var(--border);
    margin-bottom:16px;
}
.aqc-stats div {
    display:flex;
    flex-direction:column;
    align-items:center;
}
.aqc-stats strong {
    font-size:1.3rem;
    font-weight:900;
    color:var(--text);
}
.aqc-stats small { font-size:.72rem; color:var(--text-3); margin-top:2px; }
.aqc-socials { display:flex; flex-direction:column; gap:7px; }
.aqcs-btn {
    display:flex;
    align-items:center;
    gap:10px;
    padding:9px 14px;
    border-radius:5px;
    font-size:.82rem;
    font-weight:700;
    color:#fff;
    text-decoration:none;
    transition:opacity .2s;
}
.aqcs-btn:hover { opacity:.88; color:#fff; }
.aqcs-twitter   { background:#1a1a1a; }
.aqcs-instagram { background:linear-gradient(45deg,#f09433,#e6683c,#dc2743,#cc2366); }
.aqcs-facebook  { background:#1877f2; }
.aqcs-linkedin  { background:#0077b5; }
.aqcs-youtube   { background:#ff0000; }

/* ════════════════════════════
   RESPONSIVE — AUTHORS
════════════════════════════ */
@media(max-width:1100px) {
    .authors-grid { grid-template-columns:repeat(3,1fr); }
    .aph-stats-row { grid-template-columns:repeat(4,1fr); }
}
@media(max-width:900px) {
    .authors-featured-grid { grid-template-columns:1fr 1fr; }
    .authors-grid { grid-template-columns:repeat(2,1fr); }
    .aaw-container { grid-template-columns:1fr; }
    .aaw-sidebar {
        display:grid;
        grid-template-columns:1fr 1fr;
        gap:20px;
    }
    .aph-identity { grid-template-columns:auto 1fr; gap:20px; }
    .aph-avatar { width:110px; height:110px; }
    .aph-avatar-ph { width:110px; height:110px; }
    .aph-name { font-size:1.8rem; }
    .aph-stats-row { grid-template-columns:repeat(2,1fr); }
}
@media(max-width:768px) {
    .authors-featured-grid { grid-template-columns:1fr; }
    .authors-hero h1 { font-size:1.8rem; }
    .afc-top { flex-direction:column; align-items:center; text-align:center; }
    .afc-avatar { width:100px; height:100px; }
    .afc-avatar-ph { width:100px; height:100px; }
    .apl-featured { grid-template-columns:1fr; }
    .aplf-img { height:200px; }
    .aph-identity { grid-template-columns:1fr; justify-items:center; text-align:center; }
    .aph-avatar-wrap { margin:0 auto; }
    .aph-role-row { justify-content:center; }
    .aph-socials { justify-content:center; }
    .aph-name-row { justify-content:center; }
    .aph-stats-row { grid-template-columns:repeat(2,1fr); }
    .aaw-sidebar { grid-template-columns:1fr; }
    .jtb-inner { flex-direction:column; text-align:center; }
    .jtb-right { justify-content:center; }
    .ah-stats { flex-direction:column; gap:0; border-radius:16px; }
    .ah-stat-sep { width:80%;height:1px; }
}
@media(max-width:480px) {
    .authors-grid { grid-template-columns:1fr 1fr; }
    .aph-name { font-size:1.45rem; }
    .apl-card { grid-template-columns:1fr; }
    .apl-thumb { height:180px; margin:0; border-radius:0; }
    .apl-body { padding:12px 14px; }
    .aph-stats-row { grid-template-columns:1fr 1fr; }
}

/* ================================================================
   WEATHER WIDGET + PUSH NOTIFICATIONS CSS
   ================================================================ */

/* ════════════════════════════
   NOTIFICATION BELL — TOPBAR
════════════════════════════ */
.notif-btn {
  position: relative;
}
.notif-btn i {
  transition: color .2s, transform .3s;
}
.notif-btn:hover i {
  transform: rotate(15deg);
}
.notif-btn.notif-on i {
  color: #f5c518;
  animation: bell-ring 2.5s ease-in-out infinite;
}
@keyframes bell-ring {
  0%,100% { transform: rotate(0); }
  5%       { transform: rotate(18deg); }
  10%      { transform: rotate(-16deg); }
  15%      { transform: rotate(12deg); }
  20%      { transform: rotate(-8deg); }
  25%      { transform: rotate(0); }
}
.notif-badge {
  position: absolute;
  top: 0px;
  right: 0px;
  width: 14px;
  height: 14px;
  background: var(--red);
  color: #fff;
  font-size: .58rem;
  font-weight: 800;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1.5px solid var(--navy);
  animation: badge-pop .3s cubic-bezier(.36,.07,.19,.97);
}
@keyframes badge-pop {
  0%   { transform: scale(0); }
  70%  { transform: scale(1.25); }
  100% { transform: scale(1); }
}

/* ════════════════════════════
   WEATHER WIDGET
════════════════════════════ */
.widget-weather {
  background: linear-gradient(160deg, #0b3d6b 0%, #1565c0 60%, #0d47a1 100%);
  color: #fff;
  border: none !important;
  position: relative;
  overflow: hidden;
}
.widget-weather::before {
  content: '';
  position: absolute;
  top: -40px; right: -40px;
  width: 160px; height: 160px;
  background: rgba(255,255,255,.05);
  border-radius: 50%;
}
.widget-weather::after {
  content: '';
  position: absolute;
  bottom: -30px; left: -30px;
  width: 120px; height: 120px;
  background: rgba(255,255,255,.04);
  border-radius: 50%;
}
.widget-weather .whead {
  color: rgba(255,255,255,.9);
  border-bottom-color: rgba(255,255,255,.15);
}
.widget-weather .wh-bar { background: #f5c518; }
.widget-weather .whead i { color: #f5c518; }

.ww-container {
  position: relative;
  z-index: 1;
}

/* ── Skeleton loader ── */
.ww-skeleton {
  animation: shimmer 1.5s infinite linear;
  background: linear-gradient(90deg,
    rgba(255,255,255,.08) 25%,
    rgba(255,255,255,.18) 50%,
    rgba(255,255,255,.08) 75%);
  background-size: 200% 100%;
}
@keyframes shimmer {
  0%   { background-position: -200% 0; }
  100% { background-position:  200% 0; }
}
.wws-loc  { height: 14px; border-radius: 7px; background: rgba(255,255,255,.15); margin-bottom: 14px; width: 70%; }
.wws-temp { height: 48px; border-radius: 10px; background: rgba(255,255,255,.12); margin-bottom: 12px; width: 55%; }
.wws-grid { display: flex; gap: 8px; }
.wws-grid span { flex: 1; height: 36px; border-radius: 6px; background: rgba(255,255,255,.1); }

/* ── Header row ── */
.ww-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px;
  flex-wrap: wrap;
  gap: 4px;
}
.ww-loc {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: .82rem;
  font-weight: 700;
  color: rgba(255,255,255,.95);
}
.ww-loc i { color: #f5c518; font-size: .8rem; }
.ww-updated { font-size: .72rem; color: rgba(255,255,255,.5); display: flex; align-items: center; gap: 4px; }

/* ── Main temp row ── */
.ww-main {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 14px;
}
.ww-big-temp {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 2.8rem;
  font-weight: 900;
  color: #fff;
  line-height: 1;
  flex-shrink: 0;
}
.ww-big-temp span { font-size: 2.5rem; }
.ww-condition {}
.ww-cond-text {
  font-size: .95rem;
  font-weight: 700;
  color: rgba(255,255,255,.95);
  margin-bottom: 3px;
}
.ww-feels { font-size: .78rem; color: rgba(255,255,255,.6); }

/* ── Detail pills ── */
.ww-details {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 7px;
  margin-bottom: 14px;
}
.ww-detail {
  background: rgba(255,255,255,.1);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 8px;
  padding: 8px 10px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3px;
  text-align: center;
  transition: background .2s;
}
.ww-detail:hover { background: rgba(255,255,255,.16); }
.ww-detail i { font-size: .9rem; color: #f5c518; }
.ww-detail span { font-size: .9rem; font-weight: 700; color: #fff; }
.ww-detail small { font-size: .68rem; color: rgba(255,255,255,.55); }

/* ── 5-day forecast ── */
.ww-forecast {
  display: flex;
  gap: 5px;
  padding-top: 12px;
  border-top: 1px solid rgba(255,255,255,.12);
  overflow-x: auto;
  scrollbar-width: none;
}
.ww-forecast::-webkit-scrollbar { display: none; }
.wf-day {
  flex: 1;
  min-width: 52px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3px;
  background: rgba(255,255,255,.08);
  border-radius: 8px;
  padding: 7px 4px;
  transition: background .2s;
}
.wf-day:hover { background: rgba(255,255,255,.15); }
.wfd-name  { font-size: .65rem; color: rgba(255,255,255,.65); font-weight: 600; white-space: nowrap; }
.wfd-emoji { font-size: 1.3rem; line-height: 1; }
.wfd-range { font-size: .78rem; font-weight: 700; color: #fff; white-space: nowrap; }
.wfd-range small { color: rgba(255,255,255,.5); font-size: .68rem; }
.wfd-rain  { font-size: .65rem; color: #90caf9; }

/* ── Refresh button ── */
.ww-refresh {
  position: absolute;
  top: 0; right: 0;
  width: 28px; height: 28px;
  background: rgba(255,255,255,.1);
  border: none;
  border-radius: 50%;
  color: rgba(255,255,255,.5);
  font-size: .72rem;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all .2s;
  z-index: 2;
}
.ww-refresh:hover {
  background: rgba(255,255,255,.2);
  color: #fff;
  transform: rotate(180deg);
}

/* ── Error state ── */
.ww-err-msg {
  text-align: center;
  padding: 16px 0;
}
.ww-err-msg i { font-size: 2rem; color: rgba(255,255,255,.4); margin-bottom: 8px; display: block; }
.ww-err-msg p { font-size: .84rem; color: rgba(255,255,255,.6); margin-bottom: 12px; }
.ww-err-msg button {
  background: rgba(255,255,255,.15);
  border: 1px solid rgba(255,255,255,.2);
  color: #fff;
  padding: 6px 16px;
  border-radius: 4px;
  font-size: .8rem;
  cursor: pointer;
  font-family: var(--font);
  transition: background .2s;
}
.ww-err-msg button:hover { background: rgba(255,255,255,.25); }

/* ════════════════════════════
   NOTIFICATION CTA WIDGET
════════════════════════════ */
.widget-notif-cta {
  background: linear-gradient(135deg, #1a1a2e 0%, #0b1d35 100%);
  border: 1px solid rgba(255,255,255,.06) !important;
  color: #fff;
  text-align: center;
}
.widget-notif-cta .whead {
  color: rgba(255,255,255,.85);
  border-bottom-color: rgba(255,255,255,.1);
}
.widget-notif-cta .wh-bar { background: #f5c518; }
.widget-notif-cta .whead i { color: #f5c518; }
.notif-cta-body { padding: 4px 0 6px; }
.ncta-icon { font-size: 2.2rem; margin-bottom: 10px; animation: bell-ring 3s ease-in-out infinite; }
.notif-cta-body h4 { font-size: .92rem; font-weight: 800; color: #fff; margin-bottom: 6px; line-height: 1.4; }
.notif-cta-body p  { font-size: .78rem; color: rgba(255,255,255,.5); margin-bottom: 14px; line-height: 1.55; }
.ncta-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: linear-gradient(135deg, #f5c518, #e6ac00);
  color: #1a1a1a;
  border: none;
  padding: 10px 20px;
  border-radius: 25px;
  font-family: var(--font);
  font-size: .84rem;
  font-weight: 800;
  cursor: pointer;
  transition: transform .2s, box-shadow .2s;
  box-shadow: 0 4px 16px rgba(245,197,24,.35);
  width: 100%;
  justify-content: center;
}
.ncta-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(245,197,24,.45);
}
.ncta-btn:active { transform: scale(.97); }
.ncta-btn.already-on {
  background: linear-gradient(135deg, #4caf50, #388e3c);
  color: #fff;
  box-shadow: 0 4px 16px rgba(76,175,80,.3);
}
.ncta-note {
  display: block;
  font-size: .72rem;
  color: rgba(255,255,255,.35);
  margin-top: 8px;
}

/* ════════════════════════════════════════════
   IN-APP NEW POST BANNER  (slide from top)
════════════════════════════════════════════ */
#newPostBanner {
  position: fixed;
  top: 0;
  left: 0; right: 0;
  z-index: 9000;
  transform: translateY(-110%);
  transition: transform .4s cubic-bezier(.22,.61,.36,1);
  pointer-events: none;
}
#newPostBanner.np-visible {
  transform: translateY(0);
  pointer-events: auto;
}
.np-inner {
  max-width: 900px;
  margin: 12px auto 0;
  background: var(--card);
  border: 1px solid var(--border);
  border-left: 5px solid var(--red);
  border-radius: var(--radius-lg);
  box-shadow: 0 8px 40px rgba(0,0,0,.22);
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 12px 16px;
  backdrop-filter: blur(6px);
}
[data-theme="dark"] .np-inner {
  background: #1a2535;
  border-color: #2d3d52;
}
.np-img {
  width: 70px;
  height: 54px;
  object-fit: cover;
  border-radius: 6px;
  flex-shrink: 0;
}
.np-icon {
  width: 50px;
  height: 50px;
  background: var(--red);
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 1.3rem;
  flex-shrink: 0;
}
.np-body { flex: 1; min-width: 0; }
.np-label {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: .7rem;
  font-weight: 800;
  color: var(--red);
  text-transform: uppercase;
  letter-spacing: .5px;
  margin-bottom: 2px;
}
.np-dot {
  width: 7px;
  height: 7px;
  background: var(--red);
  border-radius: 50%;
  animation: blink 1s ease-in-out infinite;
}
.np-cat {
  display: inline-block;
  background: var(--bg);
  border: 1px solid var(--border);
  color: var(--text-3);
  font-size: .68rem;
  font-weight: 700;
  padding: 1px 8px;
  border-radius: 3px;
  margin-left: 6px;
}
.np-title {
  display: block;
  font-size: .9rem;
  font-weight: 700;
  color: var(--text);
  line-height: 1.4;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  transition: color .2s;
  margin-top: 2px;
}
.np-title:hover { color: var(--red); }
.np-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}
.np-read-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: var(--red);
  color: #fff;
  padding: 8px 16px;
  border-radius: 5px;
  font-size: .82rem;
  font-weight: 700;
  white-space: nowrap;
  transition: background .2s;
}
.np-read-btn:hover { background: var(--red-h); color: #fff; }
.np-close {
  width: 32px; height: 32px;
  background: var(--bg);
  border: 1px solid var(--border);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--text-3);
  font-size: .8rem;
  cursor: pointer;
  transition: all .2s;
  flex-shrink: 0;
}
.np-close:hover {
  background: var(--red);
  border-color: var(--red);
  color: #fff;
}

/* ════════════════════════════════════════════
   SYSTEM NOTIFICATION PERMISSION PROMPT
   (custom in-page prompt before browser asks)
════════════════════════════════════════════ */
.notif-prompt-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.5);
  z-index: 8500;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  animation: fadeIn .25s ease;
}
@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }
.notif-prompt-box {
  background: var(--card);
  border-radius: 16px;
  padding: 32px 28px;
  max-width: 400px;
  width: 100%;
  text-align: center;
  box-shadow: 0 20px 60px rgba(0,0,0,.3);
  animation: slideUp .3s cubic-bezier(.22,.61,.36,1);
}
@keyframes slideUp {
  from { transform: translateY(30px); opacity: 0; }
  to   { transform: translateY(0);    opacity: 1; }
}
.npb-emoji { font-size: 3rem; margin-bottom: 16px; }
.npb-title { font-size: 1.2rem; font-weight: 800; margin-bottom: 8px; }
.npb-text  { font-size: .88rem; color: var(--text-3); line-height: 1.65; margin-bottom: 24px; }
.npb-btns  { display: flex; gap: 10px; flex-direction: column; }
.npb-allow {
  background: var(--red);
  color: #fff;
  border: none;
  padding: 12px;
  border-radius: 8px;
  font-family: var(--font);
  font-size: .92rem;
  font-weight: 700;
  cursor: pointer;
  transition: background .2s;
}
.npb-allow:hover { background: var(--red-h); }
.npb-later {
  background: none;
  border: 1px solid var(--border);
  color: var(--text-3);
  padding: 10px;
  border-radius: 8px;
  font-family: var(--font);
  font-size: .86rem;
  cursor: pointer;
  transition: all .2s;
}
.npb-later:hover { border-color: var(--text-3); color: var(--text); }

/* ════════════════════════════
   RESPONSIVE
════════════════════════════ */
@media (max-width: 768px) {
  .np-inner {
    margin: 8px;
    padding: 10px 12px;
    gap: 10px;
    border-radius: 10px;
  }
  .np-img   { width: 54px; height: 44px; }
  .np-title { font-size: .84rem; }
  .np-read-btn span { display: none; }
  .ww-details { grid-template-columns: 1fr 1fr; }
  .ww-big-temp { font-size: 2.2rem; }
}
@media (max-width: 480px) {
  .np-img   { display: none; }
  .np-inner { border-radius: 0 0 10px 10px; margin: 0; }
  #newPostBanner { top: 0; }
  .ww-forecast { gap: 4px; }
  .wf-day { min-width: 44px; }
}

/* ================================================================
   NEW FEATURES — v4.0
   Font Control · TTS · Rashifal · Live TV · Poll · Comments
   Panchang · Prev/Next · Cricket Score
   ================================================================ */

/* ─── FONT SIZE CONTROL ──────────────────────────────────────── */
.art-tools-bar {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 16px;
  background: var(--bg-2);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  margin-bottom: 20px;
  flex-wrap: wrap;
}
.atb-group {
  display: flex;
  align-items: center;
  gap: 6px;
}
.atb-label {
  font-size: .75rem;
  color: var(--text-3);
  text-transform: uppercase;
  letter-spacing: .5px;
  margin-right: 2px;
}
.font-ctrl-btn {
  border: 1px solid var(--border-dk);
  background: var(--card);
  color: var(--text-2);
  padding: 5px 11px;
  border-radius: 5px;
  font-weight: 700;
  font-family: var(--font);
  transition: all .2s;
  cursor: pointer;
  line-height: 1;
}
.font-ctrl-btn:hover,.font-ctrl-btn.active {
  background: var(--red);
  color: #fff;
  border-color: var(--red);
}
.font-ctrl-btn.fsm { font-size: .82rem; }
.font-ctrl-btn.fsn { font-size: .95rem; }
.font-ctrl-btn.fsl { font-size: 1.12rem; }

.tts-btn {
  display: flex;
  align-items: center;
  gap: 6px;
  border: 1px solid var(--border-dk);
  background: var(--card);
  color: var(--text-2);
  padding: 5px 13px;
  border-radius: 5px;
  font-size: .82rem;
  font-weight: 600;
  font-family: var(--font);
  transition: all .2s;
  cursor: pointer;
  margin-left: auto;
}
.tts-btn:hover,.tts-btn.playing {
  background: #0ea5e9;
  color: #fff;
  border-color: #0ea5e9;
}
.tts-btn i { font-size: .9rem; }
.tts-wave { display: none; gap: 2px; align-items: flex-end; height: 16px; }
.tts-btn.playing .tts-wave { display: flex; }
.tts-wave span {
  width: 3px;
  background: #fff;
  border-radius: 2px;
  animation: tts-bar .8s ease-in-out infinite;
}
.tts-wave span:nth-child(1){height:8px;animation-delay:0s}
.tts-wave span:nth-child(2){height:14px;animation-delay:.1s}
.tts-wave span:nth-child(3){height:10px;animation-delay:.2s}
.tts-wave span:nth-child(4){height:16px;animation-delay:.3s}
.tts-wave span:nth-child(5){height:8px;animation-delay:.15s}
@keyframes tts-bar{0%,100%{transform:scaleY(.4)}50%{transform:scaleY(1)}}

/* font-size levels on article body */
body[data-fs="sm"] .art-body { font-size: .93rem; line-height: 1.75; }
body[data-fs="lg"] .art-body { font-size: 1.12rem; line-height: 1.85; }

/* ─── PREV / NEXT ARTICLE ────────────────────────────────────── */
.prev-next-nav {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  margin: 28px 0;
}
.pnn-card {
  display: flex;
  flex-direction: column;
  gap: 6px;
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: 14px 16px;
  transition: all .2s;
}
.pnn-card:hover { border-color: var(--red); box-shadow: var(--shadow); }
.pnn-dir {
  font-size: .72rem;
  color: var(--text-3);
  text-transform: uppercase;
  letter-spacing: .5px;
  display: flex;
  align-items: center;
  gap: 5px;
}
.pnn-card.pnn-prev .pnn-dir { flex-direction: row; }
.pnn-card.pnn-next .pnn-dir { flex-direction: row-reverse; align-self: flex-end; }
.pnn-title {
  font-size: .87rem;
  font-weight: 600;
  color: var(--text);
  line-height: 1.45;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.pnn-card.pnn-next .pnn-title { text-align: right; }
.pnn-thumb {
  width: 60px;
  height: 44px;
  object-fit: cover;
  border-radius: 5px;
  flex-shrink: 0;
}
.pnn-card.pnn-prev { flex-direction: row; gap: 12px; align-items: center; }
.pnn-card.pnn-next { flex-direction: row-reverse; gap: 12px; align-items: center; }

/* ─── COMMENTS ───────────────────────────────────────────────── */
.comments-section {
  margin-top: 32px;
}
.cs-head {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 20px;
  padding-bottom: 12px;
  border-bottom: 2px solid var(--border);
}
.cs-head h3 { font-size: 1.1rem; font-weight: 700; }
.cs-count {
  background: var(--red);
  color: #fff;
  font-size: .72rem;
  font-weight: 700;
  padding: 2px 8px;
  border-radius: 20px;
}
.comment-list { display: flex; flex-direction: column; gap: 14px; margin-bottom: 28px; }
.comment-card {
  display: flex;
  gap: 12px;
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: 14px 16px;
}
.comment-avatar {
  width: 40px;
  height: 40px;
  background: linear-gradient(135deg, var(--red), #ff6b6b);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-weight: 700;
  font-size: 1rem;
  flex-shrink: 0;
}
.comment-body { flex: 1; min-width: 0; }
.comment-meta {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 6px;
  flex-wrap: wrap;
}
.comment-name { font-weight: 700; font-size: .88rem; }
.comment-time { font-size: .75rem; color: var(--text-3); }
.comment-text { font-size: .88rem; color: var(--text-2); line-height: 1.6; }
.comment-like-btn {
  background: none;
  border: none;
  color: var(--text-3);
  font-size: .78rem;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 4px;
  margin-top: 8px;
  padding: 0;
  transition: color .2s;
  font-family: var(--font);
}
.comment-like-btn:hover { color: var(--red); }

.comment-form-wrap {
  background: var(--bg-2);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: 20px;
}
.cfv-title { font-size: .95rem; font-weight: 700; margin-bottom: 16px; }
.cf-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 12px; }
.cf-input, .cf-textarea {
  width: 100%;
  padding: 10px 14px;
  border: 1px solid var(--border-dk);
  border-radius: var(--radius);
  background: var(--card);
  color: var(--text);
  font-family: var(--font);
  font-size: .88rem;
  transition: border-color .2s;
}
.cf-input:focus, .cf-textarea:focus {
  outline: none;
  border-color: var(--red);
}
.cf-textarea { resize: vertical; min-height: 90px; margin-bottom: 12px; }
.cf-submit {
  background: var(--red);
  color: #fff;
  border: none;
  padding: 10px 24px;
  border-radius: var(--radius);
  font-weight: 700;
  font-size: .9rem;
  font-family: var(--font);
  cursor: pointer;
  transition: background .2s;
  display: flex;
  align-items: center;
  gap: 8px;
}
.cf-submit:hover { background: var(--red-h); }
.cf-note { font-size: .75rem; color: var(--text-3); margin-top: 8px; }

/* ─── POLL WIDGET ────────────────────────────────────────────── */
.poll-widget {
  background: linear-gradient(135deg, var(--navy) 0%, var(--navy-lt) 100%);
  border-radius: var(--radius-lg);
  padding: 22px;
  color: #fff;
  margin: 28px 0;
}
.poll-badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  background: var(--red);
  color: #fff;
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .5px;
  text-transform: uppercase;
  padding: 3px 10px;
  border-radius: 20px;
  margin-bottom: 12px;
}
.poll-q { font-size: 1rem; font-weight: 700; line-height: 1.5; margin-bottom: 16px; }
.poll-options { display: flex; flex-direction: column; gap: 8px; }
.poll-opt-btn {
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.15);
  border-radius: var(--radius);
  padding: 10px 16px;
  color: #fff;
  font-family: var(--font);
  font-size: .88rem;
  text-align: left;
  cursor: pointer;
  transition: all .2s;
  position: relative;
  overflow: hidden;
}
.poll-opt-btn:hover:not(:disabled) {
  background: rgba(255,255,255,.15);
  border-color: rgba(255,255,255,.35);
}
.poll-opt-btn.voted { cursor: default; }
.poll-bar {
  position: absolute;
  left: 0; top: 0; bottom: 0;
  background: rgba(192,0,26,.5);
  border-radius: var(--radius);
  transition: width .8s cubic-bezier(.4,0,.2,1);
}
.poll-opt-inner {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
}
.poll-pct {
  font-weight: 700;
  font-size: .85rem;
  opacity: .85;
  min-width: 36px;
  text-align: right;
}
.poll-meta {
  margin-top: 12px;
  font-size: .75rem;
  opacity: .55;
  display: flex;
  align-items: center;
  gap: 6px;
}

/* ─── RASHIFAL PAGE ──────────────────────────────────────────── */
.rashi-hero {
  background: linear-gradient(135deg, #1a0533 0%, #2d0b4e 60%, #c0001a 100%);
  padding: 50px 20px;
  text-align: center;
  color: #fff;
}
.rashi-hero h1 { font-size: 2.2rem; font-weight: 900; margin-bottom: 8px; }
.rashi-hero p { font-size: .95rem; opacity: .75; }
.rashi-date-badge {
  display: inline-block;
  background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.2);
  padding: 5px 18px;
  border-radius: 20px;
  font-size: .82rem;
  margin: 12px 0;
  letter-spacing: .5px;
}

.rashi-grid-wrap { max-width: 1100px; margin: 0 auto; padding: 30px 20px; }
.rashi-selector-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 10px;
  margin-bottom: 30px;
}
.rashi-sel-btn {
  background: var(--card);
  border: 2px solid var(--border);
  border-radius: var(--radius-lg);
  padding: 14px 8px;
  text-align: center;
  cursor: pointer;
  transition: all .2s;
  font-family: var(--font);
}
.rashi-sel-btn:hover, .rashi-sel-btn.active {
  border-color: var(--red);
  background: var(--red);
  color: #fff;
}
.rashi-sel-btn .rs-emoji { font-size: 1.8rem; display: block; margin-bottom: 4px; }
.rashi-sel-btn .rs-name { font-size: .78rem; font-weight: 700; }

.rashi-detail-card {
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  overflow: hidden;
}
.rdc-header {
  background: linear-gradient(135deg, var(--navy), var(--navy-lt));
  padding: 24px 28px;
  display: flex;
  align-items: center;
  gap: 18px;
  color: #fff;
}
.rdc-emoji { font-size: 3rem; line-height: 1; }
.rdc-info h2 { font-size: 1.5rem; font-weight: 900; }
.rdc-info .rdc-sub { font-size: .82rem; opacity: .65; margin-top: 2px; }
.rdc-lord {
  margin-left: auto;
  text-align: center;
  background: rgba(255,255,255,.1);
  padding: 10px 16px;
  border-radius: var(--radius);
}
.rdc-lord .rl-label { font-size: .65rem; text-transform: uppercase; letter-spacing: .5px; opacity: .6; }
.rdc-lord .rl-val { font-size: .95rem; font-weight: 700; }

.rdc-body { padding: 24px 28px; }
.rashi-meters {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
  margin-bottom: 22px;
}
.rm-card {
  background: var(--bg-2);
  border-radius: var(--radius);
  padding: 12px;
  text-align: center;
}
.rm-label { font-size: .7rem; color: var(--text-3); text-transform: uppercase; letter-spacing: .5px; margin-bottom: 8px; }
.rm-stars { color: var(--gold); font-size: .9rem; letter-spacing: 1px; }
.rm-stars .dim { color: var(--border-dk); }

.rashi-sections { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.rs-box { background: var(--bg-2); border-radius: var(--radius); padding: 14px 16px; }
.rs-box-title {
  font-size: .78rem;
  font-weight: 700;
  color: var(--text-3);
  text-transform: uppercase;
  letter-spacing: .5px;
  margin-bottom: 8px;
  display: flex;
  align-items: center;
  gap: 6px;
}
.rs-box-text { font-size: .87rem; color: var(--text-2); line-height: 1.65; }
.rashi-lucky { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 16px; }
.rashi-lucky-item {
  background: var(--bg-2);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 8px 14px;
  font-size: .82rem;
}
.rli-label { color: var(--text-3); font-size: .72rem; }
.rli-val { font-weight: 700; color: var(--text); margin-top: 2px; }

/* ─── LIVE TV PAGE ────────────────────────────────────────────── */
.live-tv-page { max-width: 1100px; margin: 0 auto; padding: 28px 20px; }
.live-tv-hero {
  background: linear-gradient(135deg, #0f0f0f, #1a1a2e);
  border-radius: var(--radius-lg);
  overflow: hidden;
  margin-bottom: 24px;
}
.ltv-embed {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
}
.ltv-embed iframe {
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 100%;
  border: 0;
}
.ltv-channels {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
  margin-bottom: 24px;
}
.ltv-ch-btn {
  background: var(--card);
  border: 2px solid var(--border);
  border-radius: var(--radius-lg);
  padding: 14px 12px;
  text-align: center;
  cursor: pointer;
  font-family: var(--font);
  font-size: .85rem;
  font-weight: 700;
  transition: all .2s;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
}
.ltv-ch-btn i { font-size: 1.4rem; }
.ltv-ch-btn:hover, .ltv-ch-btn.active {
  border-color: var(--red);
  background: var(--red);
  color: #fff;
}
.ltv-ch-btn.active { background: var(--red); color: #fff; border-color: var(--red); }

/* ─── CRICKET SCORE WIDGET ───────────────────────────────────── */
.cricket-widget {
  background: linear-gradient(135deg, #0f5132, #145a32);
  border-radius: var(--radius-lg);
  overflow: hidden;
  color: #fff;
}
.cw-head {
  background: rgba(0,0,0,.2);
  padding: 10px 14px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: .8rem;
  font-weight: 700;
}
.cw-live-dot {
  display: flex;
  align-items: center;
  gap: 5px;
  color: #ff6b6b;
  font-size: .75rem;
}
.cw-live-dot::before {
  content: '';
  width: 6px;
  height: 6px;
  background: #ff4444;
  border-radius: 50%;
  animation: blink 1.2s infinite;
}
.cw-match { padding: 14px 16px; }
.cw-teams {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 10px;
}
.cw-team { text-align: center; flex: 1; }
.cw-team-flag { font-size: 1.8rem; }
.cw-team-name { font-size: .75rem; font-weight: 700; opacity: .8; margin-top: 2px; }
.cw-score { font-size: 1.1rem; font-weight: 900; margin-top: 3px; }
.cw-vs { font-size: .7rem; opacity: .5; flex-shrink: 0; }
.cw-status { font-size: .78rem; opacity: .65; text-align: center; padding: 6px 16px 12px; border-top: 1px solid rgba(255,255,255,.1); }

/* ─── PANCHANG WIDGET ────────────────────────────────────────── */
.panchang-widget {
  background: linear-gradient(135deg, #3d0c02, #7b1f00);
  border-radius: var(--radius-lg);
  color: #fff;
  overflow: hidden;
}
.pw-head {
  background: rgba(0,0,0,.2);
  padding: 10px 14px;
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: .82rem;
  font-weight: 700;
}
.pw-body { padding: 14px 16px; }
.pw-date-big {
  font-size: 1.6rem;
  font-weight: 900;
  margin-bottom: 3px;
  line-height: 1;
}
.pw-date-sub { font-size: .72rem; opacity: .65; margin-bottom: 12px; }
.pw-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}
.pw-item {
  background: rgba(255,255,255,.08);
  border-radius: var(--radius);
  padding: 8px 10px;
}
.pw-item-label { font-size: .65rem; text-transform: uppercase; letter-spacing: .5px; opacity: .55; margin-bottom: 2px; }
.pw-item-val { font-size: .82rem; font-weight: 700; }

/* ─── LIVE TV SIDEBAR WIDGET ─────────────────────────────────── */
.live-tv-widget {
  background: #0f0f0f;
  border-radius: var(--radius-lg);
  overflow: hidden;
}
.ltw-head {
  background: var(--red);
  padding: 8px 14px;
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: .82rem;
  font-weight: 700;
  color: #fff;
}
.ltw-live-badge {
  background: rgba(255,255,255,.2);
  padding: 1px 7px;
  border-radius: 10px;
  font-size: .68rem;
  animation: blink 1.5s infinite;
}
.ltw-embed {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
}
.ltw-embed iframe {
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 100%;
  border: 0;
}
.ltw-footer {
  padding: 8px 14px;
  background: rgba(0,0,0,.5);
  display: flex;
  gap: 8px;
}
.ltw-ch-mini {
  background: rgba(255,255,255,.1);
  border: 1px solid rgba(255,255,255,.15);
  border-radius: 4px;
  padding: 3px 8px;
  color: #fff;
  font-size: .72rem;
  cursor: pointer;
  transition: background .2s;
  font-family: var(--font);
}
.ltw-ch-mini:hover,.ltw-ch-mini.active { background: var(--red); border-color: var(--red); }

/* ─── RESPONSIVE ─────────────────────────────────────────────── */
@media (max-width: 768px) {
  .rashi-selector-grid { grid-template-columns: repeat(4,1fr); }
  .rashi-sections { grid-template-columns: 1fr; }
  .rashi-meters { grid-template-columns: repeat(2,1fr); }
  .ltv-channels { grid-template-columns: repeat(2,1fr); }
  .prev-next-nav { grid-template-columns: 1fr; }
  .pnn-card.pnn-next { flex-direction: row; }
  .pnn-card.pnn-next .pnn-title { text-align: left; }
  .pnn-card.pnn-next .pnn-dir { flex-direction: row; }
  .cf-row { grid-template-columns: 1fr; }
}
@media (max-width: 480px) {
  .rashi-selector-grid { grid-template-columns: repeat(3,1fr); }
  .rashi-hero h1 { font-size: 1.6rem; }
}

/* ================================================================
   FEATURES v4.0 — Full Suite
   News Shorts · Panchang · Cricket · Bookmark · Prev/Next
   Comments · Poll · Font/TTS · Live TV · Rashifal · Share counts
   ================================================================ */

/* ── NEWS SHORTS (2-line summaries) ─────────────────────────── */
.shorts-section { margin: 0 0 24px; }
.shorts-grid { display: flex; flex-direction: column; gap: 0; }
.short-card {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 12px 0;
  border-bottom: 1px solid var(--border);
  transition: background .15s;
}
.short-card:last-child { border-bottom: none; }
.short-num {
  font-size: 1.5rem;
  font-weight: 900;
  color: var(--red);
  line-height: 1;
  min-width: 28px;
  opacity: .25;
  flex-shrink: 0;
  margin-top: 2px;
}
.short-body { flex: 1; min-width: 0; }
.short-cat {
  font-size: .65rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .8px;
  color: var(--red);
  margin-bottom: 4px;
  display: block;
}
.short-title {
  font-size: .9rem;
  font-weight: 700;
  color: var(--text);
  line-height: 1.4;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.short-title:hover { color: var(--red); }
.short-time { font-size: .72rem; color: var(--text-3); margin-top: 4px; }
.short-img {
  width: 64px;
  height: 52px;
  object-fit: cover;
  border-radius: var(--radius);
  flex-shrink: 0;
}
.shorts-tab-row { display: flex; gap: 6px; margin-bottom: 14px; }
.stab {
  border: 1px solid var(--border-dk);
  background: var(--card);
  color: var(--text-3);
  padding: 4px 12px;
  border-radius: 20px;
  font-size: .75rem;
  font-weight: 700;
  font-family: var(--font);
  cursor: pointer;
  transition: all .18s;
}
.stab.active,.stab:hover { background: var(--red); color: #fff; border-color: var(--red); }

/* ── BOOKMARK BUTTON ──────────────────────────────────────── */
.bm-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border: 1px solid var(--border-dk);
  background: var(--card);
  color: var(--text-3);
  padding: 5px 13px;
  border-radius: 5px;
  font-size: .82rem;
  font-weight: 600;
  font-family: var(--font);
  cursor: pointer;
  transition: all .2s;
}
.bm-btn:hover { border-color: var(--gold); color: var(--gold); }
.bm-btn.bookmarked { background: var(--gold); color: #fff; border-color: var(--gold); }
.bm-btn i { font-size: .9rem; }

/* ── SHARE COUNT BADGES ────────────────────────────────────── */
.share-counts {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin: 12px 0 20px;
}
.sc-badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  background: var(--bg-2);
  border: 1px solid var(--border);
  border-radius: 20px;
  padding: 3px 10px;
  font-size: .75rem;
  font-weight: 700;
  color: var(--text-3);
}
.sc-badge i { font-size: .8rem; }
.sc-badge.sc-fb i { color: #1877f2; }
.sc-badge.sc-wa i { color: #25d366; }
.sc-badge.sc-tw i { color: #1da1f2; }
.sc-badge.sc-views i { color: var(--red); }

/* ── EXPLAINER / SPECIAL BADGES ───────────────────────────── */
.art-badge-row { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 10px; }
.art-badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: .68rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .6px;
  padding: 3px 10px;
  border-radius: 4px;
}
.badge-explainer { background: #0ea5e9; color: #fff; }
.badge-opinion  { background: #8b5cf6; color: #fff; }
.badge-breaking { background: var(--red); color: #fff; }
.badge-exclusive{ background: var(--gold); color: #000; }
.badge-live     { background: #22c55e; color: #fff; }
.badge-analysis { background: #f97316; color: #fff; }

/* ── PANCHANG WIDGET ──────────────────────────────────────── */
.panchang-widget {
  background: linear-gradient(160deg, #2d0a00 0%, #5c1a00 100%);
  border-radius: var(--radius-lg);
  color: #fff;
  overflow: hidden;
}
.pw-head {
  background: rgba(0,0,0,.25);
  padding: 9px 14px;
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: .82rem;
  font-weight: 700;
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.pw-body { padding: 14px 16px; }
.pw-date-big { font-size: 1.5rem; font-weight: 900; line-height: 1; }
.pw-date-sub { font-size: .72rem; opacity: .55; margin: 3px 0 14px; }
.pw-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; }
.pw-item {
  background: rgba(255,255,255,.07);
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 6px;
  padding: 8px 10px;
}
.pw-item-label { font-size: .62rem; text-transform: uppercase; letter-spacing: .6px; opacity: .5; margin-bottom: 3px; }
.pw-item-val { font-size: .83rem; font-weight: 700; line-height: 1.3; }
.pw-rahu {
  margin-top: 10px;
  background: rgba(192,0,26,.2);
  border: 1px solid rgba(192,0,26,.3);
  border-radius: 6px;
  padding: 8px 12px;
  font-size: .8rem;
  display: flex;
  align-items: center;
  gap: 8px;
}
.pw-rahu i { color: #ff6b6b; }

/* ── CRICKET SCORE WIDGET ─────────────────────────────────── */
.cricket-widget {
  background: linear-gradient(160deg, #052e16 0%, #14532d 100%);
  border-radius: var(--radius-lg);
  overflow: hidden;
  color: #fff;
}
.cw-head {
  background: rgba(0,0,0,.3);
  padding: 9px 14px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: .8rem;
  font-weight: 700;
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.cw-live-pill {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  background: var(--red);
  padding: 2px 9px;
  border-radius: 20px;
  font-size: .67rem;
  font-weight: 800;
  letter-spacing: .4px;
  animation: pulse-red 2s infinite;
}
@keyframes pulse-red {
  0%,100%{box-shadow:0 0 0 0 rgba(192,0,26,.4)}
  50%{box-shadow:0 0 0 6px rgba(192,0,26,0)}
}
.cw-live-pill::before {
  content:'';width:5px;height:5px;
  background:#fff;border-radius:50%;
  animation:blink 1s infinite;
}
.cw-match { padding: 14px 16px; }
.cw-match-label {
  font-size: .67rem;
  opacity: .45;
  text-transform: uppercase;
  letter-spacing: .6px;
  margin-bottom: 10px;
}
.cw-teams { display: flex; align-items: center; justify-content: space-between; gap: 6px; }
.cw-team { text-align: center; flex: 1; }
.cw-team-flag { font-size: 2rem; line-height: 1; }
.cw-team-name { font-size: .7rem; font-weight: 700; opacity: .7; margin-top: 4px; letter-spacing: .5px; }
.cw-score-big { font-size: 1.3rem; font-weight: 900; margin-top: 2px; letter-spacing: -.5px; }
.cw-overs { font-size: .65rem; opacity: .45; }
.cw-vs { font-size: .75rem; opacity: .3; padding: 0 4px; flex-shrink: 0; }
.cw-status {
  margin: 10px 0 0;
  padding: 8px 12px;
  background: rgba(255,255,255,.07);
  border-radius: 5px;
  font-size: .77rem;
  opacity: .75;
  text-align: center;
  line-height: 1.4;
}
.cw-more {
  display: block;
  text-align: center;
  padding: 10px;
  font-size: .75rem;
  font-weight: 700;
  color: rgba(255,255,255,.5);
  border-top: 1px solid rgba(255,255,255,.07);
  transition: color .2s;
}
.cw-more:hover { color: #fff; }

/* ── PREV / NEXT ARTICLE NAV ──────────────────────────────── */
.prev-next-nav {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin: 24px 0;
}
.pnn-card {
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: 14px;
  transition: all .2s;
  display: flex;
  gap: 10px;
  align-items: center;
}
.pnn-card:hover { border-color: var(--red); transform: translateY(-2px); box-shadow: var(--shadow); }
.pnn-card.pnn-next { flex-direction: row-reverse; text-align: right; }
.pnn-thumb {
  width: 58px; height: 46px;
  object-fit: cover;
  border-radius: 5px;
  flex-shrink: 0;
}
.pnn-info { flex: 1; min-width: 0; }
.pnn-dir {
  font-size: .67rem;
  color: var(--text-3);
  text-transform: uppercase;
  letter-spacing: .5px;
  display: flex;
  align-items: center;
  gap: 4px;
  margin-bottom: 4px;
}
.pnn-card.pnn-next .pnn-dir { flex-direction: row-reverse; }
.pnn-title {
  font-size: .83rem;
  font-weight: 700;
  color: var(--text);
  line-height: 1.4;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* ── COMMENTS SECTION ─────────────────────────────────────── */
.comments-section { margin-top: 28px; }
.cs-head {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 18px;
  padding-bottom: 12px;
  border-bottom: 2px solid var(--border);
}
.cs-head h3 { font-size: 1.05rem; font-weight: 800; }
.cs-count {
  background: var(--red);
  color: #fff;
  font-size: .68rem;
  font-weight: 800;
  padding: 2px 9px;
  border-radius: 20px;
  min-width: 24px;
  text-align: center;
}
.comment-list { display: flex; flex-direction: column; gap: 12px; margin-bottom: 24px; }
.comment-card {
  display: flex;
  gap: 12px;
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: 14px;
}
.comment-avatar {
  width: 38px; height: 38px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-weight: 800;
  font-size: .95rem;
  flex-shrink: 0;
}
.comment-body { flex: 1; min-width: 0; }
.comment-meta {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 6px;
  flex-wrap: wrap;
}
.comment-name { font-weight: 700; font-size: .86rem; }
.comment-time { font-size: .73rem; color: var(--text-3); }
.comment-text { font-size: .87rem; color: var(--text-2); line-height: 1.6; }
.comment-like-btn {
  background: none; border: none;
  color: var(--text-3);
  font-size: .76rem;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin-top: 8px; padding: 0;
  transition: color .2s;
  font-family: var(--font);
}
.comment-like-btn:hover { color: var(--red); }
/* Comment form */
.comment-form-wrap {
  background: var(--bg-2);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: 20px;
}
.cfw-title { font-size: .95rem; font-weight: 800; margin-bottom: 14px; }
.cf-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 10px; }
.cf-input, .cf-textarea {
  width: 100%; padding: 9px 13px;
  border: 1px solid var(--border-dk);
  border-radius: var(--radius);
  background: var(--card); color: var(--text);
  font-family: var(--font); font-size: .87rem;
  transition: border-color .2s;
}
.cf-input:focus,.cf-textarea:focus { outline: none; border-color: var(--red); }
.cf-textarea { resize: vertical; min-height: 88px; margin-bottom: 10px; }
.cf-submit {
  background: var(--red); color: #fff;
  border: none; padding: 9px 22px;
  border-radius: var(--radius);
  font-weight: 700; font-size: .88rem;
  font-family: var(--font); cursor: pointer;
  transition: background .2s;
  display: inline-flex; align-items: center; gap: 7px;
}
.cf-submit:hover { background: var(--red-h); }
.cf-note { font-size: .73rem; color: var(--text-3); margin-top: 8px; }

/* ── OPINION POLL ─────────────────────────────────────────── */
.poll-widget {
  background: linear-gradient(140deg, var(--navy) 0%, #1a2f4e 100%);
  border-radius: var(--radius-lg);
  padding: 20px;
  color: #fff;
  margin: 24px 0;
}
.poll-badge {
  display: inline-flex; align-items: center; gap: 5px;
  background: var(--red); color: #fff;
  font-size: .68rem; font-weight: 800;
  letter-spacing: .6px; text-transform: uppercase;
  padding: 3px 10px; border-radius: 20px;
  margin-bottom: 10px;
}
.poll-q { font-size: .97rem; font-weight: 700; line-height: 1.5; margin-bottom: 14px; }
.poll-options { display: flex; flex-direction: column; gap: 7px; }
.poll-opt-btn {
  background: rgba(255,255,255,.07);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: var(--radius); padding: 9px 14px;
  color: #fff; font-family: var(--font); font-size: .87rem;
  text-align: left; cursor: pointer;
  transition: all .18s;
  position: relative; overflow: hidden;
}
.poll-opt-btn:hover:not(:disabled) {
  background: rgba(255,255,255,.14);
  border-color: rgba(255,255,255,.3);
}
.poll-opt-btn:disabled { cursor: default; }
.poll-bar {
  position: absolute; left: 0; top: 0; bottom: 0;
  background: rgba(192,0,26,.45);
  border-radius: var(--radius);
  transition: width .9s cubic-bezier(.4,0,.2,1);
  pointer-events: none;
}
.poll-opt-inner {
  position: relative; display: flex;
  justify-content: space-between;
  align-items: center; gap: 8px;
}
.poll-pct { font-weight: 800; font-size: .83rem; min-width: 36px; text-align: right; }
.poll-meta {
  margin-top: 10px; font-size: .73rem; opacity: .45;
  display: flex; align-items: center; gap: 5px;
}

/* ── ARTICLE TOOLS BAR ────────────────────────────────────── */
.art-tools-bar {
  display: flex; align-items: center; gap: 10px; flex-wrap: wrap;
  padding: 9px 14px;
  background: var(--bg-2); border: 1px solid var(--border);
  border-radius: var(--radius-lg); margin-bottom: 18px;
}
.atb-sep { width: 1px; height: 22px; background: var(--border-dk); }
.atb-label { font-size: .7rem; color: var(--text-3); text-transform: uppercase; letter-spacing: .5px; }
.font-ctrl-btn {
  border: 1px solid var(--border-dk); background: var(--card);
  color: var(--text-2); padding: 4px 10px; border-radius: 4px;
  font-weight: 700; font-family: var(--font);
  transition: all .18s; cursor: pointer; line-height: 1;
}
.font-ctrl-btn:hover,.font-ctrl-btn.active {
  background: var(--red); color: #fff; border-color: var(--red);
}
.font-ctrl-btn.fsm { font-size: .78rem; }
.font-ctrl-btn.fsn { font-size: .93rem; }
.font-ctrl-btn.fsl { font-size: 1.08rem; }
.tts-btn {
  display: flex; align-items: center; gap: 6px;
  border: 1px solid var(--border-dk); background: var(--card);
  color: var(--text-2); padding: 4px 12px;
  border-radius: 4px; font-size: .82rem; font-weight: 700;
  font-family: var(--font); transition: all .18s; cursor: pointer;
}
.tts-btn:hover,.tts-btn.playing { background: #0ea5e9; color: #fff; border-color: #0ea5e9; }
.tts-wave { display: none; gap: 2px; align-items: flex-end; height: 14px; }
.tts-btn.playing .tts-wave { display: flex; }
.tts-wave span {
  width: 3px; background: #fff; border-radius: 2px;
  animation: tts-bar .8s ease-in-out infinite;
}
.tts-wave span:nth-child(1){height:6px;animation-delay:0s}
.tts-wave span:nth-child(2){height:12px;animation-delay:.1s}
.tts-wave span:nth-child(3){height:8px;animation-delay:.2s}
.tts-wave span:nth-child(4){height:14px;animation-delay:.3s}
.tts-wave span:nth-child(5){height:6px;animation-delay:.15s}
@keyframes tts-bar{0%,100%{transform:scaleY(.35)}50%{transform:scaleY(1)}}
body[data-fs="sm"] .art-body { font-size: .9rem; line-height: 1.8; }
body[data-fs="lg"] .art-body { font-size: 1.13rem; line-height: 1.9; }

/* ── LIVE TV (page + widget) ──────────────────────────────── */
.live-tv-page { max-width: 1100px; margin: 0 auto; padding: 24px 20px; }
.ltv-channels { display: grid; grid-template-columns: repeat(4,1fr); gap: 10px; margin-bottom: 18px; }
.ltv-ch-btn {
  background: var(--card); border: 2px solid var(--border);
  border-radius: var(--radius-lg); padding: 12px 8px;
  text-align: center; cursor: pointer; font-family: var(--font);
  font-size: .82rem; font-weight: 700; transition: all .2s;
  display: flex; flex-direction: column; align-items: center; gap: 5px;
}
.ltv-ch-btn i { font-size: 1.3rem; }
.ltv-ch-btn:hover,.ltv-ch-btn.active { border-color: var(--red); background: var(--red); color: #fff; }
.live-tv-hero { background: #0f0f0f; border-radius: var(--radius-lg); overflow: hidden; margin-bottom: 18px; }
.ltv-embed { position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; }
.ltv-embed iframe { position: absolute; top:0;left:0;width:100%;height:100%;border:0; }
/* Sidebar widget */
.live-tv-widget { background: #0a0a0a; border-radius: var(--radius-lg); overflow: hidden; }
.ltw-head {
  background: var(--red); padding: 8px 14px;
  display: flex; align-items: center; gap: 8px;
  font-size: .82rem; font-weight: 700; color: #fff;
}
.ltw-live-badge {
  background: rgba(255,255,255,.22); padding: 1px 7px;
  border-radius: 10px; font-size: .65rem; animation: blink 1.5s infinite;
}
.ltw-embed { position: relative; padding-bottom: 56.25%; height: 0; }
.ltw-embed iframe { position: absolute; top:0;left:0;width:100%;height:100%;border:0; }
.ltw-channels {
  display: flex; gap: 6px; padding: 8px 12px;
  background: rgba(0,0,0,.6); flex-wrap: wrap;
}
.ltw-ch-mini {
  background: rgba(255,255,255,.09);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 4px; padding: 3px 8px;
  color: #fff; font-size: .72rem; font-weight: 600;
  cursor: pointer; transition: background .18s;
  font-family: var(--font);
}
.ltw-ch-mini:hover,.ltw-ch-mini.active { background: var(--red); border-color: var(--red); }

/* ── RASHIFAL PAGE ────────────────────────────────────────── */
.rashi-hero {
  background: linear-gradient(135deg, #160426 0%, #2a0845 55%, #8b0000 100%);
  padding: 48px 20px; text-align: center; color: #fff;
}
.rashi-hero h1 { font-size: 2.1rem; font-weight: 900; margin-bottom: 6px; }
.rashi-hero p { font-size: .9rem; opacity: .65; }
.rashi-date-badge {
  display: inline-block; background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.2);
  padding: 4px 16px; border-radius: 20px;
  font-size: .8rem; margin: 10px 0; letter-spacing: .5px;
}
.rashi-grid-wrap { max-width: 1060px; margin: 0 auto; padding: 28px 20px; }
.rashi-selector-grid { display: grid; grid-template-columns: repeat(6,1fr); gap: 8px; margin-bottom: 24px; }
.rashi-sel-btn {
  background: var(--card); border: 2px solid var(--border);
  border-radius: var(--radius-lg); padding: 12px 6px;
  text-align: center; cursor: pointer; transition: all .18s;
  font-family: var(--font);
}
.rashi-sel-btn:hover,.rashi-sel-btn.active { border-color: var(--red); background: var(--red); color: #fff; }
.rashi-sel-btn .rs-emoji { font-size: 1.7rem; display: block; margin-bottom: 3px; }
.rashi-sel-btn .rs-name { font-size: .76rem; font-weight: 700; }
.rashi-detail-card { background: var(--card); border: 1px solid var(--border); border-radius: var(--radius-lg); overflow: hidden; }
.rdc-header {
  background: linear-gradient(135deg, var(--navy), #1e3a5f);
  padding: 22px 26px; display: flex; align-items: center; gap: 16px; color: #fff;
}
.rdc-emoji { font-size: 2.8rem; line-height: 1; }
.rdc-info h2 { font-size: 1.45rem; font-weight: 900; }
.rdc-info .rdc-sub { font-size: .8rem; opacity: .55; margin-top: 2px; }
.rdc-lord { margin-left:auto; text-align:center; background:rgba(255,255,255,.1); padding:9px 14px; border-radius:var(--radius); }
.rdc-lord .rl-label { font-size:.62rem; text-transform:uppercase; letter-spacing:.5px; opacity:.55; }
.rdc-lord .rl-val { font-size:.9rem; font-weight:700; margin-top:2px; }
.rdc-body { padding: 22px 26px; }
.rashi-meters { display: grid; grid-template-columns: repeat(4,1fr); gap: 10px; margin-bottom: 20px; }
.rm-card { background:var(--bg-2); border-radius:var(--radius); padding:10px; text-align:center; }
.rm-label { font-size:.68rem; color:var(--text-3); text-transform:uppercase; letter-spacing:.5px; margin-bottom:6px; }
.rm-stars { color:var(--gold); font-size:.88rem; letter-spacing:1px; }
.rm-stars .dim { color:var(--border-dk); }
.rashi-sections { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.rs-box { background:var(--bg-2); border-radius:var(--radius); padding:13px 15px; }
.rs-box-title { font-size:.76rem; font-weight:700; color:var(--text-3); text-transform:uppercase; letter-spacing:.5px; margin-bottom:7px; display:flex; align-items:center; gap:5px; }
.rs-box-text { font-size:.86rem; color:var(--text-2); line-height:1.65; }
.rashi-lucky { display:flex; gap:10px; flex-wrap:wrap; margin-top:16px; }
.rashi-lucky-item { background:var(--bg-2); border:1px solid var(--border); border-radius:var(--radius); padding:7px 13px; }
.rli-label { color:var(--text-3); font-size:.7rem; }
.rli-val { font-weight:700; color:var(--text); margin-top:2px; font-size:.85rem; }

/* ── PODCAST SECTION ──────────────────────────────────────── */
.podcast-card {
  display: flex; gap: 14px; align-items: center;
  padding: 12px; background: var(--card);
  border: 1px solid var(--border); border-radius: var(--radius-lg);
  margin-bottom: 8px; transition: all .18s;
}
.podcast-card:hover { border-color: var(--red); }
.podcast-thumb {
  width: 58px; height: 58px; border-radius: var(--radius);
  background: linear-gradient(135deg, var(--red), #ff6b6b);
  display: flex; align-items: center; justify-content: center;
  color: #fff; font-size: 1.5rem; flex-shrink: 0; overflow: hidden;
}
.podcast-thumb img { width:100%; height:100%; object-fit:cover; }
.podcast-info { flex: 1; min-width: 0; }
.podcast-ep { font-size:.67rem; color:var(--red); font-weight:700; text-transform:uppercase; letter-spacing:.5px; margin-bottom:3px; }
.podcast-title { font-size:.88rem; font-weight:700; line-height:1.35; margin-bottom:4px; color:var(--text); }
.podcast-meta { font-size:.72rem; color:var(--text-3); display:flex; gap:10px; }
.podcast-play {
  width: 38px; height: 38px; border-radius:50%;
  background: var(--red); color: #fff; border: none;
  display: flex; align-items: center; justify-content: center;
  cursor: pointer; flex-shrink: 0; transition: background .18s;
  font-size: .9rem;
}
.podcast-play:hover { background: var(--red-h); }

/* ── EPAPER BUTTON ─────────────────────────────────────────── */
.epaper-widget {
  background: linear-gradient(135deg, var(--navy), #0d2340);
  border-radius: var(--radius-lg);
  padding: 18px; text-align: center; color: #fff;
}
.epaper-widget h4 { font-size: .95rem; font-weight: 800; margin-bottom: 4px; }
.epaper-widget p { font-size: .78rem; opacity: .55; margin-bottom: 14px; }
.epaper-btn {
  display: inline-flex; align-items: center; gap: 8px;
  background: #fff; color: var(--navy);
  padding: 9px 20px; border-radius: var(--radius);
  font-weight: 800; font-size: .86rem;
  transition: all .18s;
}
.epaper-btn:hover { background: var(--red); color: #fff; }

/* ── RESPONSIVE ───────────────────────────────────────────── */
@media(max-width:768px){
  .rashi-selector-grid{grid-template-columns:repeat(4,1fr);}
  .rashi-sections{grid-template-columns:1fr;}
  .rashi-meters{grid-template-columns:repeat(2,1fr);}
  .ltv-channels{grid-template-columns:repeat(2,1fr);}
  .prev-next-nav{grid-template-columns:1fr;}
  .pnn-card.pnn-next{flex-direction:row;text-align:left;}
  .pnn-card.pnn-next .pnn-dir{flex-direction:row;}
  .cf-grid{grid-template-columns:1fr;}
  .share-counts{gap:6px;}
  .art-tools-bar{gap:6px;}
}
@media(max-width:480px){
  .rashi-selector-grid{grid-template-columns:repeat(3,1fr);}
  .rashi-hero h1{font-size:1.55rem;}
  .shorts-grid .short-img{display:none;}
}

/* ================================================================
   CORE WEB VITALS — CSS Optimizations v4.0
   content-visibility · contain · will-change · aspect-ratio · CLS
   ================================================================ */

/* ── content-visibility: auto ──────────────────────────────────
   Tells browser to skip rendering off-screen sections entirely.
   ~40-60% faster INP + faster scroll on long pages.          */
/* content-visibility: only apply on browsers that fully support it
   Old Android Chrome / Safari may render blank with this property */
@supports (content-visibility: auto) {
  .home-section,
  .single-sidebar .widget,
  .related-section,
  .comments-section,
  .prev-next-nav,
  .shorts-section {
    content-visibility: auto;
    contain-intrinsic-size: 0 400px;
  }
}

/* ── contain: layout style ─────────────────────────────────────
   Prevents layout recalcs from propagating outside widgets.
   Reduces Paint + Layout time = better INP.                  */
.widget,
.ncard,
.short-card,
.poll-widget,
.cricket-widget,
.panchang-widget,
.live-tv-widget,
.comment-card,
.breaking-bar,
.topbar,
.main-nav,
.site-header {
  contain: layout style;
}

/* ── will-change — only where GPU compositing truly helps ─────
   Overuse causes more memory. Only on elements that ALWAYS animate. */
.reading-bar         { will-change: width; }
.bb-reel             { will-change: transform; }
.site-header         { will-change: auto; } /* removed from prior code */
.np-banner           { will-change: transform; }

/* ── Explicit aspect-ratio on ALL image containers ─────────────
   This is the #1 CLS fix — browser reserves space before img loads. */
.ncard-img,
.spotlight-img { aspect-ratio: 16 / 10; overflow: hidden; }

.ncard-sm .ncard-img,
.alt-card .ncard-img { aspect-ratio: 4 / 3; }

.rg-card figure      { aspect-ratio: 16 / 10; overflow: hidden; }

.art-hero-fig        { aspect-ratio: 16 / 9; overflow: hidden; }
.art-hero-img        { width: 100%; height: 100%; object-fit: cover; }

.mr-item img         { aspect-ratio: 5 / 4; flex-shrink: 0; }
.ti-img              { aspect-ratio: 5 / 4; }

.pnn-thumb           { aspect-ratio: 4 / 3; }
.comment-avatar      { aspect-ratio: 1; }
.amb-avatar,
.ab-avatar           { aspect-ratio: 1; flex-shrink: 0; }

/* ── Font swap — system font while web font loads ─────────────
   Eliminates invisible text (FOIT) — users see content immediately. */
@font-face {
  font-family: 'Noto Sans Devanagari';
  font-display: swap;
  src: local('Noto Sans Devanagari');
}
@font-face {
  font-family: 'Playfair Display';
  font-display: swap;
  src: local('Playfair Display');
}

/* ── Icon font placeholder ─────────────────────────────────────
   Prevents icon space from collapsing before FA loads (CLS fix). */
.fas, .far, .fab, .fa {
  display: inline-block;
  min-width: 1em;
  font-display: block;
}

/* ── Reduce layout recalcs on hover ───────────────────────────
   transform: translateY instead of margin/top = compositor-only = no layout. */
.ncard:hover         { transform: translateY(-3px); }
.pnn-card:hover      { transform: translateY(-2px); }
.rashi-sel-btn:hover { transform: translateY(-1px); }

/* ── Skeleton screens — reserve space while API loads ─────────
   Shown before JS replaces with real content. Prevents CLS.   */
.skel-card {
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  overflow: hidden;
  contain: layout;
}
.skel-img  {
  width: 100%; height: 180px;
  background: linear-gradient(90deg, var(--bg-2) 25%, var(--border) 50%, var(--bg-2) 75%);
  background-size: 400% 100%;
  animation: skel-shimmer 1.4s ease infinite;
}
.skel-line {
  height: 14px; margin: 10px 16px 6px;
  background: linear-gradient(90deg, var(--bg-2) 25%, var(--border) 50%, var(--bg-2) 75%);
  background-size: 400% 100%;
  animation: skel-shimmer 1.4s ease infinite;
  border-radius: 4px;
}
.skel-line.short { width: 60%; }
@keyframes skel-shimmer {
  0%   { background-position: 100% 0; }
  100% { background-position: -100% 0; }
}

/* ── scroll-margin-top — anchor links not hidden by sticky header ── */
[id] { scroll-margin-top: calc(var(--header-h) + var(--nav-h) + 10px); }

/* ── Reduce repaints on scroll ─────────────────────────────────
   Sticky header uses GPU layer, not CPU layout.               */
.site-header,
.main-nav {
  transform: translateZ(0);
  backface-visibility: hidden;
}

/* ── text-rendering optimization ──────────────────────────────
   News bodies: optimizeSpeed > readability (slightly faster FCP). */
.art-body  { text-rendering: optimizeLegibility; }
.ncard h3,
.short-title { text-rendering: optimizeSpeed; }

/* ── Overflow anchors — prevent page jump when content loads ──
   Fixes content jumping when sidebar loads after main.        */
html { overflow-anchor: auto; }

/* ── Touch action optimization ─────────────────────────────── */
.nav-menu a,
.ncard,
.short-card,
.poll-opt-btn {
  touch-action: manipulation; /* Removes 300ms tap delay on mobile */
}

/* ── Image loading optimization ───────────────────────────────
   decoding:async = don't block main thread while img decodes  */
img { decoding: async; }
.art-hero-img,
.spotlight-img > img { decoding: sync; } /* LCP images: sync for speed */

/* ══════════════════════════════════════════════
   FOOTER FIX — ft-* classes
══════════════════════════════════════════════ */
.site-footer { background: #0b1d35; color: #8da4bd; }

.footer-top { padding: 48px 0 32px; }
.footer-container {
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 20px;
  display: grid;
  grid-template-columns: 1.8fr 1fr 1fr 1.3fr;
  gap: 40px;
}
.footer-bottom { background: #091528; border-top: 1px solid rgba(255,255,255,.08); }
.fb-copy, .fb-made { font-size: .78rem; color: #5a7a96; margin: 0; }
.fb-links { display: flex; gap: 16px; }
.fb-links a { font-size: .78rem; color: #5a7a96; }
.fb-links a:hover { color: #fff; }

/* Brand column */
.ft-brand { display: flex; flex-direction: column; gap: 0; }
.footer-logo { display: flex; align-items: center; gap: 12px; margin-bottom: 14px; }
.fl-emblem {
  width: 40px; height: 40px; background: var(--red);
  border-radius: 5px; display: flex; align-items: center;
  justify-content: center; font-size: 1.4rem; color: #fff; flex-shrink: 0;
}
.fl-text { display: flex; flex-direction: column; line-height: 1.2; }
.fl-main { font-size: 1.25rem; font-weight: 900; color: #fff; letter-spacing: .5px; }
.fl-sub { font-size: .6rem; color: #5a7a96; letter-spacing: 2px; text-transform: uppercase; margin-top: 2px; }
.ft-about { font-size: .83rem; line-height: 1.7; color: #7a96b0; margin-bottom: 16px; }
.ft-socials { display: flex; gap: 10px; margin-bottom: 16px; }
.ft-socials a {
  width: 32px; height: 32px; border-radius: 50%;
  background: rgba(255,255,255,.08);
  display: flex; align-items: center; justify-content: center;
  color: #8da4bd; font-size: .8rem;
  transition: background .2s, color .2s;
}
.ft-socials a:hover { background: var(--red); color: #fff; }
.ft-apps { display: flex; gap: 8px; flex-wrap: wrap; }
.ft-app-btn {
  display: flex; align-items: center; gap: 6px;
  border: 1px solid rgba(255,255,255,.15);
  border-radius: 6px; padding: 6px 12px;
  font-size: .75rem; color: #8da4bd;
  transition: border-color .2s, color .2s;
}
.ft-app-btn:hover { border-color: #fff; color: #fff; }

/* Link columns */
.ft-col { display: flex; flex-direction: column; }
.ft-title {
  font-size: .7rem; font-weight: 800; color: #fff;
  letter-spacing: 1.5px; text-transform: uppercase;
  margin-bottom: 14px; padding-bottom: 8px;
  border-bottom: 2px solid var(--red);
}
.ft-links { display: flex; flex-direction: column; gap: 0; }
.ft-links li { border-bottom: 1px solid rgba(255,255,255,.04); }
.ft-links a {
  display: block; font-size: .84rem; color: #7a96b0;
  padding: 6px 0; transition: color .15s, padding-left .15s;
}
.ft-links a:hover { color: #fff; padding-left: 5px; }

/* Newsletter column */
.ft-newsletter { display: flex; flex-direction: column; gap: 8px; margin-bottom: 6px; }
.ftn-input {
  background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.12);
  border-radius: 5px; padding: 9px 12px; color: #fff; font-size: .83rem;
  font-family: var(--font); outline: none; width: 100%;
}
.ftn-input:focus { border-color: var(--red); }
.ftn-input::placeholder { color: #5a7a96; }
.ftn-btn {
  background: var(--red); color: #fff; border: none;
  border-radius: 5px; padding: 9px 16px; font-size: .83rem;
  font-weight: 700; font-family: var(--font); cursor: pointer;
  transition: background .2s;
}
.ftn-btn:hover { background: var(--red-h); }
.ftn-note { font-size: .72rem; color: #5a7a96; }
.ft-pill {
  display: inline-flex; align-items: center;
  border: 1px solid rgba(255,255,255,.15); border-radius: 20px;
  padding: 4px 12px; font-size: .75rem; color: #8da4bd;
  transition: border-color .2s, color .2s;
}
.ft-pill:hover { border-color: var(--red); color: #fff; }

/* Responsive footer */
@media (max-width: 1024px) {
  .footer-container { grid-template-columns: 1.5fr 1fr 1fr; }
  .footer-container > .ft-col:last-child { grid-column: 1 / -1; }
}
@media (max-width: 700px) {
  .footer-container { grid-template-columns: 1fr 1fr; gap: 24px; }
  .ft-brand { grid-column: 1 / -1; }
}
@media (max-width: 480px) {
  .footer-container { grid-template-columns: 1fr; }
}

/* ══════════════════════════════════════════════
   MOBILE NAV FIX
══════════════════════════════════════════════ */
@media (max-width: 900px) {
  .nav-menu {
    display: none;
    position: fixed;
    top: 0; left: 0;
    width: 80%; max-width: 300px;
    height: 100vh;
    background: var(--navy);
    flex-direction: column;
    padding: 70px 0 30px;
    overflow-y: auto;
    z-index: 500;
    box-shadow: 4px 0 20px rgba(0,0,0,.4);
    transition: transform .3s ease;
    transform: translateX(-100%);
    gap: 0;
  }
  .nav-menu.open {
    display: flex;
    transform: translateX(0);
  }
  .nav-link {
    height: auto !important;
    padding: 13px 24px !important;
    font-size: .95rem !important;
    border-bottom: 1px solid rgba(255,255,255,.07);
    display: block !important;
  }
  .nav-toggle { display: flex !important; }
  .nav-overlay {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,.5);
    z-index: 499;
  }
  .nav-overlay.open { display: block; }
}
