/*
Theme Name: KTUNotes
Theme URI: https://www.ktunotes.in
Author: KTUNotes
Description: Official KTUNotes theme for Kerala Technological University students.
Version: 5.1.0
Text Domain: ktunotes
*/

/* ── RESET ─────────────────────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}

/* ── TOKENS ─────────────────────────────────────────────────── */
:root{
  --brand:   #ff4500;
  --brand2:  #ff6a00;
  --brand3:  #ff8c00;
  --brand-g: linear-gradient(135deg,#ff4500,#ff6a00);
  --dark:    #111218;
  --ink:     #1a1a2e;
  --ink2:    #4a4a6a;
  --muted:   #8a8aaa;
  --bg:      #f7f6f3;
  --bg2:     #ffffff;
  --card:    #ffffff;
  --border:  #e8e4de;
  --border2: #f0ece6;
  --radius:  14px;
  --radius-lg: 20px;
  --radius-xl: 28px;
  --shadow-sm: 0 1px 3px rgba(0,0,0,.06), 0 2px 8px rgba(0,0,0,.04);
  --shadow:    0 2px 12px rgba(0,0,0,.07), 0 8px 32px rgba(0,0,0,.05);
  --shadow-lg: 0 8px 40px rgba(0,0,0,.1);
  --shadow-o:  0 8px 32px rgba(255,69,0,.25);
  --font:    'Plus Jakarta Sans', sans-serif;
  --font-display: 'Plus Jakarta Sans', sans-serif;
  --transition: .2s cubic-bezier(.4,0,.2,1);
}

/* ── BASE ───────────────────────────────────────────────────── */
html{scroll-behavior:smooth;overflow-x:hidden;background:#f7f6f3 !important;margin:0;padding:0;}
a{-webkit-tap-highlight-color:transparent !important;}
a:focus,a:active,a:visited{outline:none !important;}
.kn-quick-item,.kn-quick-item:link,.kn-quick-item:visited,.kn-quick-item:focus,.kn-quick-item:active,.kn-quick-item:hover{-webkit-tap-highlight-color:transparent !important;outline:none !important;}
.kn-quick-item,.kn-quick-item:link,.kn-quick-item:visited{background:#fff !important;color:#1a1a2e !important;}
body{font-family:var(--font);font-size:15px;color:var(--ink);background:#f7f6f3 !important;line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden;margin:0;padding:0;}
.kn-footer{margin-bottom:0 !important;}
a{color:var(--brand);text-decoration:none;transition:color var(--transition);}
a:hover{color:var(--brand2);}
img{max-width:100%;height:auto;display:block;}
ul,ol{list-style:none;}
button{cursor:pointer;border:none;background:none;font-family:var(--font);color:inherit;}
input,select,textarea{font-family:var(--font);}

/* Legacy suppression */
.jl_shead_tpl1,.jl_shead_tpl_txt,.jl_sg_rgap,.single .entry-header,.single .post-header,.single .entry-meta,.single .post-meta,.single .post-thumbnail,.single .wp-post-image,.single .posted-on,.single .byline,.page .entry-header,.page .post-header{display:none!important;height:0!important;overflow:hidden!important;margin:0!important;padding:0!important;}
.single .jl_smmain_in,.single .jl_smmain_w,.single .jl_rd_wrap,.page .jl_smmain_in,.page .jl_smmain_w{padding-top:0!important;margin-top:0!important;}
.jl_rd_wrap,.jl_smmain_w,.jl_smmain_in,.jl_sg_wrap,.jl_content_wrap{padding-bottom:0!important;margin-bottom:0!important;}
.home .jl_rd_wrap,.front-page .jl_rd_wrap{padding:0!important;margin:0!important;}

/* ── LAYOUT ─────────────────────────────────────────────────── */
.kn-wrap,.kn-fp-wrap{max-width:1320px;margin:0 auto;padding:0 24px;width:100%;box-sizing:border-box;}
.kn-fp-wrap{padding-top:12px;padding-bottom:0;}
.kn-layout{display:grid;grid-template-columns:1fr 280px;gap:28px;align-items:start;padding:12px 0 0;}
.kn-layout.no-sidebar{grid-template-columns:1fr;}
.kn-main{min-width:0;}
.kn-sidebar{display:flex;flex-direction:column;gap:20px;position:sticky;top:84px;}

/* ── HEADER ─────────────────────────────────────────────────── */
.kn-header{background:#fff;border-bottom:1px solid var(--border);position:sticky;top:0;z-index:1000;box-shadow:0 1px 0 var(--border),0 4px 24px rgba(0,0,0,.04);}
.kn-header-inner{display:flex;align-items:center;height:64px;gap:12px;max-width:1320px;margin:0 auto;padding:0 24px;}

/* Logo */
.kn-logo{display:flex;align-items:center;gap:10px;text-decoration:none;flex-shrink:0;margin-right:16px;}
.kn-logo-mark{width:36px;height:36px;background:var(--brand-g);border-radius:10px;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px rgba(255,69,0,.3);}
.kn-logo-mark svg{width:20px;height:20px;fill:#fff;}
.kn-logo-text{font-size:19px;font-weight:900;color:var(--ink);letter-spacing:-.4px;}
.kn-logo-text span{color:var(--brand);}
.kn-logo img{height:36px;width:auto;}

/* Nav */
.kn-nav{display:flex;align-items:center;gap:1px;flex:1;}
.kn-nav a{font-size:13.5px;font-weight:600;color:var(--ink2);padding:7px 13px;border-radius:9px;transition:all var(--transition);white-space:nowrap;}
.kn-nav a:hover{background:var(--bg);color:var(--ink);}
.kn-nav a.active{color:var(--brand);background:#fff5f0;}
.kn-nav-drop{position:relative;display:inline-flex;}
.kn-nav-drop-btn{font-size:13.5px;font-weight:600;color:var(--ink2);padding:7px 13px;border-radius:9px;cursor:pointer;display:flex;align-items:center;gap:5px;white-space:nowrap;transition:all var(--transition);}
.kn-nav-drop-btn:hover{background:var(--bg);color:var(--ink);}
.kn-nav-drop-btn svg{opacity:.5;transition:transform var(--transition);}
.kn-nav-drop:hover .kn-nav-drop-btn svg{transform:rotate(180deg);}
.kn-nav-drop-menu{display:none;position:absolute;top:calc(100% + 10px);left:0;background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:6px;min-width:210px;box-shadow:var(--shadow-lg);z-index:9999;flex-direction:column;gap:1px;}
.kn-nav-drop:hover .kn-nav-drop-menu{display:flex;}
.kn-nav-drop-menu a{font-size:13px;font-weight:600;color:var(--ink)!important;padding:9px 13px;border-radius:9px;display:block;transition:all var(--transition);background:transparent;}
.kn-nav-drop-menu a:hover{background:var(--bg)!important;color:var(--brand)!important;}

/* Header right */
.kn-header-actions{display:flex;align-items:center;gap:8px;flex-shrink:0;margin-left:auto;}
.kn-search-btn{display:flex;align-items:center;justify-content:center;width:38px;height:38px;background:var(--bg);border:1px solid var(--border);border-radius:10px;cursor:pointer;transition:all var(--transition);color:var(--ink2);}
.kn-search-btn:hover{border-color:var(--brand);color:var(--brand);}
.kn-upload-btn{display:inline-flex;align-items:center;gap:7px;background:var(--brand-g);color:#fff;font-size:13px;font-weight:700;padding:9px 18px;border-radius:10px;text-decoration:none;box-shadow:var(--shadow-o);transition:all var(--transition);}
.kn-upload-btn:hover{opacity:.9;transform:translateY(-1px);color:#fff;}
.kn-hamburger{display:none;flex-direction:column;gap:5px;padding:9px;border-radius:10px;background:var(--bg);border:1px solid var(--border);cursor:pointer;}
.kn-hamburger span{display:block;width:20px;height:2px;background:var(--ink);border-radius:2px;transition:all .25s;}
.kn-hamburger.open span:nth-child(1){transform:rotate(45deg) translate(5px,5px);}
.kn-hamburger.open span:nth-child(2){opacity:0;}
.kn-hamburger.open span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px);}

/* Mobile nav */
.kn-mobile-nav{display:none;position:fixed;top:64px;left:0;right:0;bottom:0;background:#fff;z-index:999;padding:16px;overflow-y:auto;flex-direction:column;gap:4px;border-top:1px solid var(--border);}
.kn-mobile-nav.open{display:flex;}
.kn-mobile-nav a{font-size:15px;font-weight:600;color:var(--ink);padding:13px 16px;border-radius:12px;display:block;border:1px solid transparent;transition:all var(--transition);}
.kn-mobile-nav a:hover{background:var(--bg);border-color:var(--border);color:var(--brand);}
.kn-mobile-nav-upload{background:var(--brand-g)!important;color:#fff!important;text-align:center;margin-top:8px;border-color:transparent!important;}
.kn-mobile-nav-section{font-size:10px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.9px;padding:12px 16px 4px;}

/* Search overlay */
.kn-search-overlay{display:none;position:fixed;inset:0;background:rgba(26,26,46,.6);z-index:2000;align-items:flex-start;justify-content:center;padding-top:80px;backdrop-filter:blur(6px);}
.kn-search-overlay.open{display:flex;}
.kn-search-box{background:#fff;border-radius:var(--radius-xl);padding:24px;width:100%;max-width:580px;margin:0 20px;box-shadow:var(--shadow-lg);border:1px solid var(--border);}
.kn-search-input-wrap{display:flex;align-items:center;gap:12px;background:var(--bg);border:2px solid var(--border);border-radius:var(--radius);padding:12px 18px;transition:border-color var(--transition);}
.kn-search-input-wrap:focus-within{border-color:var(--brand);}
.kn-search-input-wrap input{flex:1;border:none;background:transparent;font-size:15px;font-weight:600;color:var(--ink);outline:none;}
.kn-search-input-wrap input::placeholder{color:var(--muted);}
.kn-search-submit{background:var(--brand-g);color:#fff;border:none;border-radius:9px;padding:8px 18px;font-size:13px;font-weight:700;cursor:pointer;}
.kn-search-hints{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px;}
.kn-search-hint{font-size:12px;font-weight:600;background:var(--bg);color:var(--ink2);padding:5px 12px;border-radius:100px;border:1px solid var(--border);cursor:pointer;transition:all var(--transition);}
.kn-search-hint:hover{border-color:var(--brand);color:var(--brand);}

/* ── ALERT BAR ──────────────────────────────────────────────── */
.kn-alert-bar{background:#fff;border-bottom:1px solid var(--border);overflow:hidden;}
.kn-alert-bar-inner{height:40px;display:flex;align-items:center;overflow:hidden;max-width:1320px;margin:0 auto;}
.kn-ab-brand{display:flex;align-items:center;gap:8px;padding:0 16px 0 24px;border-right:1px solid var(--border);height:100%;flex-shrink:0;}
.kn-ab-dot{width:6px;height:6px;background:#22c55e;border-radius:50%;animation:kn-pulse 2s ease-in-out infinite;}
@keyframes kn-pulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.5);opacity:.5}}
.kn-ab-name{font-size:11px;font-weight:800;color:var(--brand);}
.kn-ab-live{background:#22c55e;color:#fff;font-size:8px;font-weight:800;padding:2px 7px;border-radius:4px;letter-spacing:.3px;}
.kn-ab-track{flex:1;min-width:0;overflow:hidden;display:flex;align-items:center;padding:0 16px;}
.kn-ab-scroll{display:flex;align-items:center;white-space:nowrap;animation:kn-scroll 40s linear infinite;}
@keyframes kn-scroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
.kn-ab-item{display:inline-flex;align-items:center;gap:10px;padding:0 20px;}
.kn-ab-sep{color:var(--border);font-size:12px;}
.kn-abtag{font-size:9px;font-weight:800;padding:2px 8px;border-radius:4px;letter-spacing:.5px;text-transform:uppercase;flex-shrink:0;}
.kn-t-notice{background:#fff3e0;color:#c05621;}
.kn-t-result{background:#dcfce7;color:#15803d;}
.kn-t-exam  {background:#fce7f3;color:#9d174d;}
.kn-t-alert {background:#fef9c3;color:#854d0e;}
.kn-ab-txt{font-size:12px;font-weight:600;color:var(--ink2);}
.kn-ab-txt a{color:var(--ink2);}
.kn-ab-txt a:hover{color:var(--brand);}

/* ── PAGE HEADER ────────────────────────────────────────────── */
.kn-page-header{background:var(--dark);border-radius:var(--radius-xl);padding:32px 40px;margin-bottom:24px;position:relative;overflow:hidden;}
.kn-page-header::before{content:'';position:absolute;top:-80px;right:-60px;width:280px;height:280px;background:radial-gradient(circle,rgba(255,69,0,.3),transparent 65%);}
.kn-page-header::after{content:'';position:absolute;bottom:-60px;left:-40px;width:200px;height:200px;background:radial-gradient(circle,rgba(255,140,0,.15),transparent 65%);}
.kn-ph-inner{position:relative;z-index:1;}
.kn-breadcrumb{display:flex;align-items:center;gap:6px;margin-bottom:12px;flex-wrap:wrap;}
.kn-breadcrumb a{font-size:12px;font-weight:600;color:rgba(255,255,255,.4);}
.kn-breadcrumb a:hover{color:rgba(255,255,255,.8);}
.kn-breadcrumb-sep{font-size:12px;color:rgba(255,255,255,.2);}
.kn-breadcrumb-cur{font-size:12px;font-weight:600;color:rgba(255,255,255,.75);}
.kn-ph-title{font-size:30px;font-weight:900;color:#fff;letter-spacing:-.6px;margin-bottom:6px;line-height:1.2;}
.kn-ph-title em{font-style:normal;color:var(--brand3);}
.kn-ph-sub{font-size:14px;color:rgba(255,255,255,.5);}

/* ── SIDEBAR ────────────────────────────────────────────────── */
.kn-sidebar-widget{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm);}
.kn-sidebar-widget-title{font-size:11px;font-weight:800;color:var(--muted);padding:12px 16px;border-bottom:1px solid var(--border2);background:var(--bg);text-transform:uppercase;letter-spacing:.8px;}
.kn-sidebar-widget-body{padding:14px 16px;}
.kn-social-widget{display:flex;flex-direction:column;gap:7px;}
.kn-sw-btn{display:flex;align-items:center;justify-content:space-between;padding:10px 13px;border-radius:10px;text-decoration:none;transition:opacity var(--transition);}
.kn-sw-btn:hover{opacity:.88;}
.kn-sw-l{display:flex;align-items:center;gap:9px;}
.kn-sw-name{font-size:12px;font-weight:700;color:#fff;}
.kn-sw-count{font-size:10px;font-weight:600;color:rgba(255,255,255,.65);}
.kn-sw-fb{background:#1877f2;}.kn-sw-ig{background:linear-gradient(45deg,#fd5949,#d6249f 50%,#285aeb);}
.kn-sw-yt{background:#ff0000;}.kn-sw-wa{background:#25d366;}.kn-sw-tg{background:#229ed9;}.kn-sw-li{background:#0077b5;}
.kn-ad-placeholder{aspect-ratio:3/4;background:var(--dark);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:20px;text-align:center;border-radius:10px;position:relative;overflow:hidden;}
.kn-ad-placeholder::before{content:'';position:absolute;top:-40px;right:-40px;width:160px;height:160px;background:radial-gradient(circle,rgba(255,69,0,.25),transparent 65%);}
.kn-ad-placeholder-txt{font-size:15px;font-weight:900;color:var(--brand3);position:relative;z-index:1;}
.kn-ad-placeholder-sub{font-size:11px;color:rgba(255,255,255,.3);position:relative;z-index:1;}

/* ── FOOTER ─────────────────────────────────────────────────── */
.kn-footer{background:var(--dark);margin-top:0;}
.kn-footer-top{padding:52px 24px 36px;display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:40px;max-width:1320px;margin:0 auto;}
.kn-footer-logo{display:flex;align-items:center;gap:10px;margin-bottom:14px;}
.kn-footer-logo-mark{width:38px;height:38px;background:var(--brand-g);border-radius:10px;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px rgba(255,69,0,.3);}
.kn-footer-logo-mark svg{width:20px;height:20px;fill:#fff;}
.kn-footer-logo-name{font-size:20px;font-weight:900;color:#fff;letter-spacing:-.3px;}
.kn-footer-logo-name span{color:var(--brand3);}
.kn-footer-desc{font-size:13px;color:rgba(255,255,255,.35);line-height:1.75;max-width:230px;margin-bottom:20px;}
.kn-footer-social{display:flex;gap:9px;}
.kn-footer-social a{width:36px;height:36px;border-radius:10px;background:rgba(255,255,255,.07);display:flex;align-items:center;justify-content:center;font-size:15px;transition:all var(--transition);text-decoration:none;border:1px solid rgba(255,255,255,.06);}
.kn-footer-social a:hover{background:rgba(255,69,0,.25);border-color:rgba(255,69,0,.3);}
.kn-footer-col-title{font-size:11px;font-weight:800;color:rgba(255,255,255,.7);text-transform:uppercase;letter-spacing:.9px;margin-bottom:16px;}
.kn-footer-links{display:flex;flex-direction:column;gap:9px;}
.kn-footer-links a{font-size:13px;color:rgba(255,255,255,.35);transition:color var(--transition);}
.kn-footer-links a:hover{color:var(--brand3);}
.kn-footer-bottom{border-top:1px solid rgba(255,255,255,.07);max-width:1320px;margin:0 auto;padding:18px 24px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;}
.kn-footer-copy{font-size:12px;color:rgba(255,255,255,.2);}
.kn-footer-bottom-links{display:flex;gap:20px;}
.kn-footer-bottom-links a{font-size:12px;color:rgba(255,255,255,.2);}
.kn-footer-bottom-links a:hover{color:rgba(255,255,255,.55);}

/* ── BUTTONS ────────────────────────────────────────────────── */
.kn-btn{display:inline-flex;align-items:center;gap:7px;background:var(--brand-g);color:#fff;font-size:13px;font-weight:700;padding:10px 22px;border-radius:10px;text-decoration:none;box-shadow:var(--shadow-o);transition:all var(--transition);border:none;cursor:pointer;}
.kn-btn:hover{opacity:.9;transform:translateY(-1px);color:#fff;}
.kn-btn-ghost{background:transparent;border:1.5px solid var(--border);color:var(--ink);box-shadow:none;}
.kn-btn-ghost:hover{border-color:var(--brand);color:var(--brand);background:#fff5f0;box-shadow:none;}
.kn-dl-btn{display:inline-flex;align-items:center;gap:6px;background:var(--brand-g);color:#fff;font-size:12px;font-weight:700;padding:9px 18px;border-radius:9px;text-decoration:none;transition:all var(--transition);white-space:nowrap;box-shadow:0 4px 12px rgba(255,69,0,.2);}
.kn-dl-btn:hover{opacity:.9;transform:translateY(-1px);color:#fff;}

/* ── CARDS & TAGS ───────────────────────────────────────────── */
.kn-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:22px;box-shadow:var(--shadow-sm);}
.kn-tag{font-size:10px;font-weight:700;padding:3px 9px;border-radius:100px;text-transform:uppercase;letter-spacing:.4px;}
.kn-tag-orange{background:#fff3e0;color:#c05621;}
.kn-tag-green {background:#dcfce7;color:#15803d;}
.kn-tag-red   {background:#fce7f3;color:#9d174d;}
.kn-tag-blue  {background:#dbeafe;color:#1e40af;}

/* Stats row */
.kn-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:24px;}
.kn-stat{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:18px;text-align:center;box-shadow:var(--shadow-sm);}
.kn-stat-n{font-size:24px;font-weight:900;color:var(--brand);}
.kn-stat-l{font-size:11px;color:var(--muted);font-weight:600;margin-top:3px;}

/* Section */
.kn-section{margin-bottom:24px;}
.kn-main>.kn-section:last-child,.kn-main>.kn-card:last-child{margin-bottom:0;}
.kn-section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;}
.kn-section-title{font-size:19px;font-weight:900;color:var(--ink);}
.kn-section-title span{color:var(--brand);}
.kn-view-all{font-size:12px;font-weight:700;color:var(--brand);text-decoration:none;background:#fff5f0;padding:6px 14px;border-radius:100px;border:1px solid #ffd5c0;transition:all var(--transition);}
.kn-view-all:hover{background:var(--brand);color:#fff;border-color:var(--brand);}

/* ── TABS ───────────────────────────────────────────────────── */
.kn-tabs{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:5px;display:inline-flex;gap:3px;margin-bottom:18px;flex-wrap:wrap;}
.kn-tab{padding:9px 22px;border-radius:9px;font-size:13px;font-weight:700;cursor:pointer;color:var(--muted);transition:all var(--transition);border:none;background:transparent;white-space:nowrap;}
.kn-tab:hover{color:var(--ink);background:var(--card);}
.kn-tab.active{background:var(--brand-g);color:#fff;box-shadow:0 2px 12px rgba(255,69,0,.25);}

/* ── QUICK ACCESS ───────────────────────────────────────────── */
.kn-quick-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-bottom:24px;}
.kn-quick-item{background:#fff;border:1.5px solid #e8e4de;border-radius:var(--radius-lg);padding:22px 10px 18px;display:flex;flex-direction:column;align-items:center;gap:12px;text-decoration:none;transition:all var(--transition);-webkit-tap-highlight-color:transparent;outline:none;}
.kn-quick-item:hover{background:#fff5f0;border-color:#ff4500;transform:translateY(-3px);box-shadow:0 12px 32px rgba(255,69,0,.12);}.kn-quick-item:focus,.kn-quick-item:active,.kn-quick-item:visited{background:#fff!important;outline:none!important;}
.kn-quick-ico{width:62px;height:62px;border-radius:50%;background:var(--brand-g);display:flex;align-items:center;justify-content:center;box-shadow:0 6px 20px rgba(255,69,0,.4);flex-shrink:0;}
.kn-quick-ico svg{display:block;}
.kn-quick-lbl{font-size:11px;font-weight:800;color:#1a1a2e;text-align:center;text-transform:uppercase;letter-spacing:.6px;}

/* ── STATS BAR ──────────────────────────────────────────────── */
.kn-statsbar{background:var(--brand-g);border-radius:var(--radius-xl);padding:30px 0;display:grid;grid-template-columns:repeat(4,1fr);margin-bottom:24px;box-shadow:var(--shadow-o);}
.kn-statsbar-item{text-align:center;position:relative;}
.kn-statsbar-item+.kn-statsbar-item::before{content:'';position:absolute;left:0;top:15%;height:70%;width:1px;background:rgba(255,255,255,.2);}
.kn-statsbar-n{font-size:34px;font-weight:900;color:#fff;letter-spacing:-1.5px;line-height:1;margin-bottom:7px;}
.kn-statsbar-l{font-size:12px;font-weight:600;color:rgba(255,255,255,.75);text-transform:uppercase;letter-spacing:.5px;}

/* ── NOTIF + SUBSCRIBE ──────────────────────────────────────── */
.kn-fp-2col{display:grid;grid-template-columns:1.2fr 1fr;gap:16px;margin-bottom:24px;}
.kn-notif-list-item{display:flex;align-items:center;gap:13px;padding:13px 18px;border-bottom:1px solid var(--border2);text-decoration:none;transition:background var(--transition);}
.kn-notif-list-item:hover{background:var(--bg);}
.kn-notif-list-item:last-child{border-bottom:none;}
.kn-notif-list-ico{width:38px;height:38px;background:var(--brand-g);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:15px;color:#fff;box-shadow:0 4px 10px rgba(255,69,0,.25);}
.kn-sub-card{background:var(--dark);border-radius:var(--radius-lg);padding:24px;position:relative;overflow:hidden;}
.kn-sub-card::before{content:'';position:absolute;top:-60px;right:-60px;width:220px;height:220px;background:radial-gradient(circle,rgba(255,69,0,.2),transparent 65%);}
.kn-sub-link{display:flex;align-items:center;justify-content:space-between;padding:10px 13px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.07);border-radius:10px;text-decoration:none;margin-bottom:8px;transition:background var(--transition);}
.kn-sub-link:last-child{margin-bottom:0;}
.kn-sub-link:hover{background:rgba(255,255,255,.1);}
.kn-sub-link-l{display:flex;align-items:center;gap:10px;}
.kn-sub-link-name{font-size:13px;font-weight:700;color:#fff;}
.kn-sub-link-count{font-size:11px;color:rgba(255,255,255,.38);font-weight:500;}

/* ── FEATURES ───────────────────────────────────────────────── */
.kn-features{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:24px;}
.kn-feat{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:22px 20px;display:flex;align-items:flex-start;gap:16px;box-shadow:var(--shadow-sm);transition:all var(--transition);}
.kn-feat:hover{border-color:#ffd0b5;transform:translateY(-2px);box-shadow:0 12px 32px rgba(255,69,0,.08);}
.kn-feat-ico{width:48px;height:48px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0;}
.kn-feat-ico svg{display:block;}
.kn-feat-title{font-size:14px;font-weight:800;color:var(--ink);margin-bottom:5px;}
.kn-feat-desc{font-size:13px;color:var(--muted);line-height:1.6;}

/* ── POST CONTENT ───────────────────────────────────────────── */
.kn-post-content h1,.kn-post-content h2,.kn-post-content h3,.kn-post-content h4{font-weight:800;color:var(--ink);margin:28px 0 12px;line-height:1.3;}
.kn-post-content h2{font-size:22px;}.kn-post-content h3{font-size:18px;}
.kn-post-content p{margin-bottom:16px;color:var(--ink2);}
.kn-post-content a{color:var(--brand);text-decoration:underline;}.kn-post-content a:hover{color:var(--brand2);}
.kn-post-content ul,.kn-post-content ol{margin:0 0 16px 24px;}
.kn-post-content ul li{list-style:disc;margin-bottom:6px;color:var(--ink2);}
.kn-post-content ol li{list-style:decimal;margin-bottom:6px;color:var(--ink2);}
.kn-post-content img{max-width:100%;border-radius:var(--radius-lg);margin:18px 0;}
.kn-post-content blockquote{border-left:4px solid var(--brand);padding:14px 20px;background:#fff8f5;border-radius:0 12px 12px 0;margin:20px 0;color:var(--ink2);}
.kn-post-content table{width:100%;border-collapse:collapse;margin-bottom:16px;}
.kn-post-content table th{background:var(--brand-g);color:#fff;padding:11px 16px;font-size:13px;text-align:left;}
.kn-post-content table td{padding:11px 16px;border-bottom:1px solid var(--border2);font-size:13px;color:var(--ink2);}
.kn-post-content table tr:hover td{background:var(--bg);}
.kn-post-content pre{background:var(--dark);color:#f8f8f2;padding:20px;border-radius:var(--radius);overflow-x:auto;margin-bottom:16px;font-size:13px;line-height:1.7;}
.kn-post-content code{background:#fff3e0;color:#c05621;padding:2px 7px;border-radius:5px;font-size:13px;}
.kn-post-content pre code{background:transparent;color:inherit;padding:0;}

/* ── RESPONSIVE ─────────────────────────────────────────────── */
@media(max-width:1100px){
  .kn-layout{grid-template-columns:1fr;}.kn-sidebar{position:static;}
  .kn-footer-top{grid-template-columns:1fr 1fr;}
  .kn-quick-grid{grid-template-columns:repeat(3,1fr);}
  .kn-statsbar{grid-template-columns:repeat(2,1fr);padding:22px 0;}
  .kn-statsbar-item:nth-child(3)::before{display:none;}
}
@media(max-width:768px){
  .kn-nav{display:none;}.kn-hamburger{display:flex;}
  .kn-header-inner{height:56px;}.kn-mobile-nav{top:56px;}
  .kn-page-header{padding:22px 20px;border-radius:var(--radius-lg);}
  .kn-ph-title{font-size:22px;}
  .kn-stats{grid-template-columns:repeat(2,1fr);gap:10px;}
  .kn-features{grid-template-columns:1fr 1fr;}
  .kn-fp-2col{grid-template-columns:1fr;}
  .kn-footer-top{grid-template-columns:1fr;padding:36px 16px;}
  .kn-footer-bottom{flex-direction:column;text-align:center;padding:16px;}
  .kn-wrap,.kn-fp-wrap{padding-left:16px;padding-right:16px;}
  .kn-qa-wrap{padding:10px 12px!important;}
  .kn-quick-item{padding:14px 8px 10px!important;border-radius:14px!important;gap:6px!important;}
  .kn-quick-ico{width:52px!important;height:52px!important;}
  .kn-quick-lbl{font-size:10px!important;display:block!important;}
}
@media(max-width:480px){
  .kn-wrap,.kn-fp-wrap{padding-left:12px!important;padding-right:12px!important;}
  .kn-card{padding:16px;}
  .kn-section-title{font-size:17px;}
  .kn-stat-n{font-size:20px;}
  .kn-quick-grid{grid-template-columns:repeat(3,1fr);gap:10px;}
  .kn-quick-item{padding:14px 8px 10px!important;border-radius:14px!important;gap:6px!important;}
  .kn-quick-ico{width:52px!important;height:52px!important;}
  .kn-quick-lbl{font-size:10px!important;display:block!important;}
  .kn-qa-wrap{padding:10px 12px!important;}
  .kn-statsbar-n{font-size:26px;}
  .kn-features{grid-template-columns:1fr;}
}


/* ── FOOTER GAP FIX ─────────────────────────────────────────── */
.home .kn-fp-wrap,.home [class*='jl_'],.home [id*='content'],.home [id*='page'],.home [id*='main']{padding-bottom:0!important;margin-bottom:0!important;}
.kn-footer{display:block;margin:0!important;padding-top:0;}
.kn-fp-wrap{padding-bottom:32px!important;}

/* ── FRONT PAGE ─────────────────────────────────────────────── */
.kn-hero{background:linear-gradient(135deg,#1a0a00 0%,#3d1200 35%,#8b2000 65%,#c0392b 85%,#ff4500 100%);border-radius:20px;margin:0 0 20px;padding:48px 52px;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:40px;}
.kn-hero::before{content:'';position:absolute;top:-80px;right:-60px;width:400px;height:400px;background:radial-gradient(ellipse,rgba(255,140,0,.2),transparent 65%);pointer-events:none;}
.kn-hero-content{position:relative;z-index:2;flex:1;max-width:540px;}
.kn-hero-badge{display:inline-flex;align-items:center;gap:7px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);border-radius:100px;padding:6px 14px;margin-bottom:22px;}
.kn-hero-badge-dot{width:7px;height:7px;background:#ffcc00;border-radius:50%;}
.kn-hero-badge-txt{font-size:12px;font-weight:700;color:rgba(255,255,255,.8);letter-spacing:.2px;}
.kn-hero-title{font-size:52px;font-weight:900;color:#fff;line-height:1;letter-spacing:-2px;margin-bottom:16px;}
.kn-hero-title em{font-style:normal;background:linear-gradient(90deg,#ff8c00,#ffcc00);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.kn-hero-sub{font-size:15px;color:rgba(255,255,255,.55);line-height:1.7;max-width:420px;margin-bottom:32px;}
.kn-hero-btns{display:flex;gap:10px;flex-wrap:wrap;}
.kn-hero-btn-primary{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.15);border:1.5px solid rgba(255,255,255,.3);color:#fff;font-size:13px;font-weight:800;padding:11px 20px;border-radius:12px;text-decoration:none;transition:all .2s;-webkit-tap-highlight-color:transparent;}
.kn-hero-btn-primary:hover{background:rgba(255,255,255,.25);color:#fff;transform:translateY(-2px);}
.kn-hero-btn-ghost{display:inline-flex;align-items:center;gap:8px;background:linear-gradient(135deg,#ff4500,#ff6a00);color:#fff;font-size:13px;font-weight:800;padding:11px 20px;border-radius:12px;text-decoration:none;box-shadow:0 8px 24px rgba(255,69,0,.4);transition:all .2s;-webkit-tap-highlight-color:transparent;}
.kn-hero-btn-ghost:hover{opacity:.9;color:#fff;transform:translateY(-2px);}
.kn-hero-bell{flex-shrink:0;width:200px;height:200px;position:relative;z-index:1;}
.kn-hero-bell svg{width:200px;height:200px;filter:drop-shadow(0 20px 60px rgba(255,130,0,.4));}
.kn-fp-section{margin-bottom:20px;}
.kn-fp-section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;}
.kn-fp-section-title{font-size:19px;font-weight:900;color:#1a1a2e;}
.kn-fp-section-title span{color:#ff4500;}
.kn-fp-viewall{font-size:12px;font-weight:700;color:#ff4500;text-decoration:none;background:#fff5f0;padding:6px 14px;border-radius:100px;border:1px solid #ffd5c0;transition:all .2s;}
.kn-fp-viewall:hover{background:#ff4500;color:#fff;border-color:#ff4500;}
.kn-qa-wrap{background:#fff;border:1px solid #e8e4de;border-radius:20px;padding:22px;margin-bottom:20px;box-shadow:0 2px 12px rgba(0,0,0,.05);position:relative;overflow:hidden;}
.kn-qa-wrap::before{content:'';position:absolute;inset:0;background-image:radial-gradient(circle,#e8e4de 1px,transparent 1px);background-size:24px 24px;opacity:.4;pointer-events:none;}
.kn-qa-wrap>*{position:relative;z-index:1;}
.kn-quick-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;}
.kn-section-card{background:#fff;border:1px solid #e8e4de;border-radius:20px;padding:22px;margin-bottom:20px;box-shadow:0 2px 12px rgba(0,0,0,.05);}
.kn-branch-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;}
.kn-branch-card{display:flex;align-items:center;gap:13px;padding:16px 18px;background:#f7f6f3;border:1.5px solid #e8e4de;border-radius:15px;text-decoration:none;transition:all .2s;}
.kn-branch-card:hover{border-color:#ff4500;background:#fff;transform:translateY(-2px);box-shadow:0 8px 24px rgba(255,69,0,.1);}
.kn-branch-ico{width:50px;height:50px;border-radius:13px;display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0;}
.kn-branch-code{font-size:15px;font-weight:900;color:#1a1a2e;margin-bottom:2px;}
.kn-branch-name{font-size:11px;color:#6b7280;font-weight:600;margin-bottom:4px;}
.kn-branch-count{font-size:10px;font-weight:700;background:#fff3e0;color:#c05621;padding:2px 8px;border-radius:100px;display:inline-block;}
.kn-branch-arrow{font-size:20px;color:#c4bdb5;margin-left:auto;flex-shrink:0;}
.kn-subjects-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;}
.kn-subj-card{display:flex;align-items:center;gap:12px;padding:14px 16px;background:#f7f6f3;border:1.5px solid #e8e4de;border-radius:13px;text-decoration:none;transition:all .2s;}
.kn-subj-card:hover{border-color:#ff4500;background:#fff;transform:translateY(-1px);box-shadow:0 6px 18px rgba(255,69,0,.08);}
.kn-subj-ico{width:40px;height:40px;border-radius:11px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.kn-subj-name{font-size:13px;font-weight:700;color:#1a1a2e;margin-bottom:2px;}
.kn-subj-meta{font-size:11px;color:#8a8aaa;font-weight:600;}
.kn-subj-arrow{margin-left:auto;color:#c4bdb5;flex-shrink:0;}
.kn-fp-2col{display:grid;grid-template-columns:1.2fr 1fr;gap:16px;margin-bottom:20px;}
.kn-notif-card{background:#fff;border:1px solid #e8e4de;border-radius:20px;overflow:hidden;box-shadow:0 2px 12px rgba(0,0,0,.05);}
.kn-notif-head{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #f0ece6;}
.kn-notif-ttl{font-size:15px;font-weight:900;color:#1a1a2e;}
.kn-notif-ttl span{color:#ff4500;}
.kn-notif-row{display:flex;align-items:center;gap:12px;padding:13px 20px;border-bottom:1px solid #f0ece6;text-decoration:none;transition:background .15s;}
.kn-notif-row:hover{background:#f7f6f3;}
.kn-notif-row:last-child{border-bottom:none;}
.kn-notif-ico{width:36px;height:36px;background:linear-gradient(135deg,#ff4500,#ff6a00);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:14px;}
.kn-notif-name{font-size:13px;font-weight:700;color:#1a1a2e;line-height:1.35;margin-bottom:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.kn-notif-empty{padding:36px;text-align:center;color:#8a8aaa;font-size:14px;}
.kn-sub-wrap{background:#111218;border-radius:20px;padding:24px;position:relative;overflow:hidden;}
.kn-sub-wrap::before{content:'';position:absolute;top:-60px;right:-60px;width:200px;height:200px;background:radial-gradient(circle,rgba(255,69,0,.18),transparent 65%);}
.kn-sub-inner{position:relative;z-index:1;}
.kn-sub-badge{display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);border-radius:100px;padding:5px 11px;margin-bottom:14px;}
.kn-sub-badge-dot{width:5px;height:5px;background:#22c55e;border-radius:50%;}
.kn-sub-badge-txt{font-size:10px;font-weight:700;color:rgba(255,255,255,.5);text-transform:uppercase;letter-spacing:.5px;}
.kn-sub-heading{font-size:18px;font-weight:900;color:#fff;margin-bottom:6px;}
.kn-sub-heading em{font-style:normal;color:#ff8c00;}
.kn-sub-desc{font-size:12px;color:rgba(255,255,255,.35);margin-bottom:18px;line-height:1.6;}
.kn-sub-row{display:flex;align-items:center;justify-content:space-between;padding:10px 13px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.07);border-radius:10px;text-decoration:none;margin-bottom:8px;transition:background .15s;}
.kn-sub-row:last-child{margin-bottom:0;}
.kn-sub-row:hover{background:rgba(255,255,255,.1);}
.kn-sub-left{display:flex;align-items:center;gap:10px;}
.kn-sub-ico{width:30px;height:30px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:15px;flex-shrink:0;}
.kn-sub-name{font-size:13px;font-weight:700;color:#fff;}
.kn-sub-count{font-size:11px;color:rgba(255,255,255,.3);}
.kn-sub-arrow{color:rgba(255,255,255,.2);font-size:14px;}
.kn-feat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:0;}
.kn-feat-card{background:#fff;border:1px solid #e8e4de;border-radius:18px;padding:22px 20px;display:flex;align-items:flex-start;gap:16px;box-shadow:0 2px 8px rgba(0,0,0,.04);transition:all .2s;}
.kn-feat-card:hover{border-color:#ffc4a8;transform:translateY(-3px);box-shadow:0 12px 32px rgba(255,69,0,.08);}
.kn-feat-icon{width:48px;height:48px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0;}
.kn-feat-name{font-size:14px;font-weight:800;color:#1a1a2e;margin-bottom:5px;}
.kn-feat-text{font-size:13px;color:#6b7280;line-height:1.6;}
@media(max-width:960px){
  .kn-hero{flex-direction:column;padding:24px 20px;gap:20px;}
  .kn-hero-title{font-size:36px;}
  .kn-hero-bell{width:120px;height:120px;}
  .kn-hero-bell svg{width:120px;height:120px;}
  .kn-quick-grid{grid-template-columns:repeat(3,1fr);}
  .kn-statsbar{grid-template-columns:repeat(2,1fr);}
  .kn-branch-grid,.kn-subjects-grid{grid-template-columns:1fr 1fr;}
  .kn-feat-grid{grid-template-columns:1fr 1fr;}
  .kn-fp-2col{grid-template-columns:1fr;}
  .kn-countdown-wrap{flex-direction:column;align-items:flex-start;padding:20px;}
}
@media(max-width:768px){
  .kn-hero{padding:18px 14px;gap:14px;}
  .kn-hero-title{font-size:26px;letter-spacing:-.5px;}
  .kn-hero-sub{font-size:13px;margin-bottom:16px;}
  .kn-hero-bell,.kn-hero-badge{display:none;}
  .kn-hero-btn-primary,.kn-hero-btn-ghost{font-size:12px;padding:10px 16px;}
  .kn-branch-grid,.kn-subjects-grid,.kn-feat-grid{grid-template-columns:1fr;}
  .kn-cd-block{min-width:56px;padding:10px 12px;}
  .kn-cd-n{font-size:22px;}
  .kn-quick-grid{grid-template-columns:repeat(3,1fr);gap:10px;}
  .kn-quick-item{padding:18px 6px 14px;border-radius:14px;gap:8px;}
  .kn-quick-ico{width:52px;height:52px;}
  .kn-quick-lbl{display:block;font-size:10px;}
  .kn-qa-title{display:none;}
  .kn-qa-wrap{padding:14px;}
}

/* ── DARK MODE ──────────────────────────────────────────────── */
[data-theme="dark"] {
  --bg:      #0f0f13;
  --bg2:     #1a1a24;
  --card:    #1e1e2a;
  --border:  #2e2e3e;
  --border2: #252535;
  --ink:     #f0eff8;
  --ink2:    #a8a8c0;
  --muted:   #6b6b88;
  --dark:    #09090d;
}
[data-theme="dark"] body { background:#0f0f13!important; color:#f0eff8; }
[data-theme="dark"] .kn-header { background:#1a1a24; border-color:#2e2e3e; }
[data-theme="dark"] .kn-card,
[data-theme="dark"] .kn-section-card,
[data-theme="dark"] .kn-qa-wrap,
[data-theme="dark"] .kn-notif-card { background:#1e1e2a; border-color:#2e2e3e; }
[data-theme="dark"] .kn-nav a { color:#a8a8c0; }
[data-theme="dark"] .kn-nav a:hover { background:#252535; color:#f0eff8; }
[data-theme="dark"] .kn-quick-item { background:#1e1e2a; border-color:#2e2e3e; }
[data-theme="dark"] .kn-quick-lbl { color:#f0eff8; }
[data-theme="dark"] .kn-branch-card,
[data-theme="dark"] .kn-subj-card,
[data-theme="dark"] .kn-recent-card { background:#1e1e2a; border-color:#2e2e3e; }
[data-theme="dark"] .kn-branch-code,
[data-theme="dark"] .kn-subj-name,
[data-theme="dark"] .kn-recent-title { color:#f0eff8; }
[data-theme="dark"] .kn-notif-row:hover { background:#252535; }
[data-theme="dark"] .kn-sidebar-widget { background:#1e1e2a; border-color:#2e2e3e; }
[data-theme="dark"] .kn-sidebar-widget-title { background:#252535; color:#a8a8c0; border-color:#2e2e3e; }
[data-theme="dark"] .kn-search-box { background:#1e1e2a; border-color:#2e2e3e; }
[data-theme="dark"] .kn-search-input-wrap { background:#252535; border-color:#2e2e3e; }
[data-theme="dark"] .kn-search-input-wrap input { color:#f0eff8; }
[data-theme="dark"] .kn-mobile-nav { background:#1a1a24; border-color:#2e2e3e; }
[data-theme="dark"] .kn-mobile-nav a { color:#f0eff8; }
[data-theme="dark"] .kn-sn-file,
[data-theme="dark"] .kn-sn-modcard { background:#1e1e2a; border-color:#2e2e3e; }
[data-theme="dark"] .ktn-cf input,
[data-theme="dark"] .ktn-cf textarea,
[data-theme="dark"] .ktn-inp,
[data-theme="dark"] .ktn-ra-inp { background:#252535; border-color:#2e2e3e; color:#f0eff8; }

/* ── DARK TOGGLE BUTTON ─────────────────────────────────────── */
#kn-dark-toggle {
  width:36px; height:36px; border-radius:10px;
  background:var(--bg,#f7f6f3); border:1px solid var(--border,#e8e4de);
  display:flex; align-items:center; justify-content:center;
  font-size:16px; cursor:pointer; transition:all .2s; flex-shrink:0;
}
#kn-dark-toggle:hover { border-color:var(--brand,#ff4500); }

/* ── BACK TO TOP ─────────────────────────────────────────────── */
#kn-back-top {
  position:fixed; bottom:90px; right:24px; z-index:998;
  width:40px; height:40px; border-radius:50%;
  background:var(--dark,#111218); color:#fff;
  border:none; font-size:18px; cursor:pointer;
  box-shadow:0 4px 16px rgba(0,0,0,.25);
  opacity:0; pointer-events:none;
  transition:opacity .3s, transform .2s;
  display:flex; align-items:center; justify-content:center;
}
#kn-back-top:hover { transform:translateY(-3px); }
@media(max-width:480px){ #kn-back-top { bottom:80px; right:16px; } }

/* ── NEW BADGE ───────────────────────────────────────────────── */
.kn-new-badge {
  display:inline-block; background:#22c55e; color:#fff;
  font-size:9px; font-weight:900; padding:1px 7px;
  border-radius:100px; letter-spacing:.4px;
  text-transform:uppercase; vertical-align:middle; margin-left:5px;
}
