/*
Theme Name: KurunziNews
Theme URI: https://kurunzinews.co.ke
Author: KurunziNews Team
Author URI: https://kurunzinews.co.ke
Description: A professional editorial news theme for Kenyan digital media. Features breaking news ticker, category-based homepage sections for Business, Politics, Technology, Sports, Counties, Entertainment and Opinion, author profiles, newsletter signup, and full WordPress Customizer support. Built to international media standards.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: kurunzinews
Tags: news, editorial, magazine, blog, custom-colors, custom-logo, custom-menu, featured-images, footer-widgets, responsive-layout, accessibility-ready, translation-ready
*/

/* =========================================
   CSS CUSTOM PROPERTIES
========================================= */
:root {
  /* Primary Brand */
  --kn-purple:       #2c247a;
  --kn-purple-dark:  #1e1855;
  --kn-purple-mid:   #3d33a0;
  --kn-purple-light: #ede9ff;
  --kn-red:          #d52635;
  --kn-red-dark:     #a81d29;
  --kn-red-light:    #f03545;
  --kn-red-pale:     #fff0f1;

  /* Section accent colours */
  --kn-business:     #1a6b3a;
  --kn-politics:     #2c247a;
  --kn-tech:         #0057a8;
  --kn-sports:       #d52635;
  --kn-counties:     #b56400;
  --kn-entertainment:#8b1a8b;
  --kn-opinion:      #4a4a4a;

  /* Neutrals */
  --kn-black:   #0a0a0a;
  --kn-dark:    #181818;
  --kn-g900:    #1e1e1e;
  --kn-g800:    #2d2d2d;
  --kn-g700:    #444;
  --kn-g600:    #666;
  --kn-g500:    #888;
  --kn-g400:    #aaa;
  --kn-g300:    #ccc;
  --kn-g200:    #e5e5e5;
  --kn-g100:    #f5f5f5;
  --kn-white:   #fff;

  /* Typography */
  --kn-serif:    'Playfair Display', Georgia, serif;
  --kn-sans:     'IBM Plex Sans', 'Helvetica Neue', sans-serif;
  --kn-body:     'Source Serif 4', Georgia, serif;

  /* Layout */
  --kn-boxed:   1240px;
  --kn-max:     1280px;
  --kn-sidebar: 300px;

  /* Misc */
  --kn-radius:  4px;
  --kn-radius-lg: 10px;
  --kn-shadow:  0 2px 12px rgba(0,0,0,.08);
  --kn-shadow-md: 0 4px 20px rgba(0,0,0,.12);
  --kn-shadow-purple: 0 4px 18px rgba(44,36,122,.28);
  --kn-shadow-red:    0 4px 18px rgba(213,38,53,.28);
  --kn-tr: .2s ease;
  --kn-border: 1px solid #e5e5e5;
}

/* =========================================
   RESET & BASE
========================================= */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-size:16px;scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:var(--kn-body);font-size:1rem;line-height:1.7;color:var(--kn-g800);background:#ebebeb;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:var(--kn-purple);text-decoration:none;transition:color var(--kn-tr)}
a:hover{color:var(--kn-purple-dark)}
a:focus-visible{outline:2px solid var(--kn-purple);outline-offset:2px;border-radius:2px}
h1,h2,h3,h4,h5,h6{font-family:var(--kn-serif);font-weight:700;line-height:1.25;color:var(--kn-black);letter-spacing:-.015em}
h1{font-size:clamp(1.75rem,4vw,2.8rem)}
h2{font-size:clamp(1.4rem,3vw,2.1rem)}
h3{font-size:clamp(1.15rem,2.5vw,1.55rem)}
h4{font-size:1.15rem}
p{margin-bottom:1.25em}
p:last-child{margin-bottom:0}
ul,ol{padding-left:1.5em}
input,textarea,select,button{font-family:var(--kn-sans)}

/* =========================================
   LAYOUT
========================================= */
.kn-wrap{max-width:var(--kn-boxed);margin:0 auto;background:var(--kn-white);box-shadow:0 0 60px rgba(0,0,0,.1)}
.kn-con{max-width:var(--kn-max);margin:0 auto;padding:0 24px}
.kn-content-grid{display:grid;grid-template-columns:1fr var(--kn-sidebar);gap:36px;align-items:start}
.kn-g2{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.kn-g3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.kn-g4{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.kn-g5{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}

/* =========================================
   TOPBAR
========================================= */
.kn-topbar{background:var(--kn-g900);padding:6px 0;font-family:var(--kn-sans);font-size:.73rem;color:var(--kn-g400)}
.kn-topbar-inner{display:flex;justify-content:space-between;align-items:center;gap:16px}
.kn-topbar-left,.kn-topbar-right{display:flex;align-items:center;gap:14px}
.kn-edition{padding:2px 8px;background:var(--kn-red);color:#fff;border-radius:2px;font-weight:700;font-size:.67rem;letter-spacing:.06em;text-transform:uppercase}
.kn-social-mini{display:flex;gap:5px}
.kn-social-mini a{color:var(--kn-g500);width:24px;height:24px;display:flex;align-items:center;justify-content:center;border:1px solid var(--kn-g700);border-radius:2px;font-size:.68rem;font-weight:800;transition:all var(--kn-tr)}
.kn-social-mini a:hover{background:var(--kn-purple);border-color:var(--kn-purple);color:#fff}
.kn-search-trigger{background:none;border:1px solid var(--kn-g700);color:var(--kn-g400);padding:3px 9px;border-radius:2px;cursor:pointer;font-size:.73rem;font-family:var(--kn-sans);transition:all var(--kn-tr);display:flex;align-items:center;gap:4px}
.kn-search-trigger:hover{border-color:var(--kn-purple);color:var(--kn-purple)}

/* =========================================
   BREAKING BAR
========================================= */
.kn-breaking{background:var(--kn-red);overflow:hidden;padding:7px 0}
.kn-breaking-inner{display:flex;align-items:center}
.kn-breaking-tag{background:var(--kn-purple-dark);color:#fff;padding:3px 18px 3px 12px;font-family:var(--kn-sans);font-size:.7rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;flex-shrink:0;clip-path:polygon(0 0,calc(100% - 8px) 0,100% 50%,calc(100% - 8px) 100%,0 100%)}
.kn-ticker-wrap{overflow:hidden;flex:1;padding:0 14px}
.kn-ticker{display:flex;animation:kn-ticker 38s linear infinite;white-space:nowrap}
.kn-ticker:hover{animation-play-state:paused}
.kn-ticker-item{padding-right:56px;font-family:var(--kn-sans);font-size:.8rem;font-weight:500;display:inline-block}
.kn-ticker-item a{color:rgba(255,255,255,.92)}
.kn-ticker-item a:hover{color:#fff}
@keyframes kn-ticker{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

/* =========================================
   HEADER
========================================= */
.kn-header{background:var(--kn-white);border-bottom:4px solid var(--kn-purple);padding:18px 0;position:sticky;top:0;z-index:300;box-shadow:0 2px 20px rgba(44,36,122,.12)}
.kn-header-inner{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:28px}
.kn-logo{text-decoration:none;display:block}
.kn-logo-mark{display:flex;align-items:baseline;gap:0;line-height:1}
.kn-logo-ku{font-family:var(--kn-serif);font-size:2rem;font-weight:900;color:var(--kn-purple);letter-spacing:-.04em}
.kn-logo-runzi{font-family:var(--kn-serif);font-size:2rem;font-weight:900;color:var(--kn-red);letter-spacing:-.04em}
.kn-logo-news{font-family:var(--kn-serif);font-size:2rem;font-weight:900;color:var(--kn-black);letter-spacing:-.04em}
.kn-logo-tag{font-family:var(--kn-sans);font-size:.62rem;letter-spacing:.22em;text-transform:uppercase;color:var(--kn-g500);margin-top:2px;display:block}
.kn-header-ad{display:flex;align-items:center;justify-content:center}
.kn-ad-box{background:var(--kn-g100);border:2px dashed var(--kn-g300);width:468px;height:60px;display:flex;align-items:center;justify-content:center;font-family:var(--kn-sans);font-size:.7rem;color:var(--kn-g400);border-radius:3px}
.kn-header-actions{display:flex;align-items:center;gap:10px}
.kn-btn{display:inline-flex;align-items:center;gap:5px;padding:8px 16px;font-family:var(--kn-sans);font-size:.76rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;border-radius:var(--kn-radius);border:2px solid transparent;cursor:pointer;transition:all var(--kn-tr);text-decoration:none;white-space:nowrap}
.kn-btn-primary{background:var(--kn-purple);color:#fff;border-color:var(--kn-purple)}
.kn-btn-primary:hover{background:var(--kn-purple-dark);border-color:var(--kn-purple-dark);color:#fff;transform:translateY(-1px);box-shadow:var(--kn-shadow-purple)}
.kn-btn-red{background:var(--kn-red);color:#fff;border-color:var(--kn-red)}
.kn-btn-red:hover{background:var(--kn-red-dark);border-color:var(--kn-red-dark);color:#fff;transform:translateY(-1px);box-shadow:var(--kn-shadow-red)}
.kn-btn-outline{background:transparent;color:var(--kn-g700);border-color:var(--kn-g300)}
.kn-btn-outline:hover{border-color:var(--kn-purple);color:var(--kn-purple)}

/* =========================================
   NAVIGATION
========================================= */
.kn-nav{background:var(--kn-purple);position:sticky;top:95px;z-index:299}
.kn-nav-inner{display:flex;align-items:center;justify-content:space-between}
.kn-nav-menu{display:flex;list-style:none;padding:0;margin:0}
.kn-nav-menu > li{position:relative}
.kn-nav-menu > li > a{display:block;padding:12px 14px;font-family:var(--kn-sans);font-size:.76rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:rgba(255,255,255,.82);transition:all var(--kn-tr);border-bottom:3px solid transparent;margin-bottom:-3px}
.kn-nav-menu > li > a:hover,
.kn-nav-menu > li.current-menu-item > a{color:#fff;border-bottom-color:var(--kn-red)}
.kn-nav-menu > li > a.kn-nav-hot{color:#ffd166;border-bottom-color:transparent}
.kn-nav-menu > li > a.kn-nav-hot:hover{color:#fff}
.kn-nav-menu > li:hover .kn-sub-menu{opacity:1;visibility:visible;transform:translateY(0)}
.kn-sub-menu{position:absolute;top:100%;left:0;background:var(--kn-white);min-width:210px;box-shadow:var(--kn-shadow-md);border-top:3px solid var(--kn-red);opacity:0;visibility:hidden;transform:translateY(-6px);transition:all var(--kn-tr);z-index:400;border-radius:0 0 var(--kn-radius) var(--kn-radius)}
.kn-sub-menu li{list-style:none}
.kn-sub-menu a{display:block;padding:9px 16px;font-family:var(--kn-sans);font-size:.8rem;color:var(--kn-g700);border-bottom:1px solid var(--kn-g100);transition:all var(--kn-tr)}
.kn-sub-menu a:hover{background:var(--kn-purple-light);color:var(--kn-purple);padding-left:22px}
.kn-nav-live{display:flex;align-items:center;gap:5px;font-family:var(--kn-sans);font-size:.7rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:#fff;padding:5px 12px;background:var(--kn-red);border-radius:2px;margin:7px 0;flex-shrink:0}
.kn-live-dot{width:6px;height:6px;background:#fff;border-radius:50%;animation:kn-pulse 1.4s ease-in-out infinite}
@keyframes kn-pulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.5);opacity:.5}}
.kn-hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:9px;background:none;border:none}
.kn-hamburger span{display:block;width:22px;height:2px;background:#fff;transition:all var(--kn-tr)}

/* =========================================
   SECTION HEADERS
========================================= */
.kn-sec-hdr{display:flex;align-items:center;justify-content:space-between;padding-bottom:12px;margin-bottom:22px;border-bottom:3px solid var(--kn-purple)}
.kn-sec-hdr--red{border-bottom-color:var(--kn-red)}
.kn-sec-hdr--business{border-bottom-color:var(--kn-business)}
.kn-sec-hdr--politics{border-bottom-color:var(--kn-politics)}
.kn-sec-hdr--tech{border-bottom-color:var(--kn-tech)}
.kn-sec-hdr--sports{border-bottom-color:var(--kn-sports)}
.kn-sec-hdr--counties{border-bottom-color:var(--kn-counties)}
.kn-sec-hdr--entertainment{border-bottom-color:var(--kn-entertainment)}
.kn-sec-hdr--opinion{border-bottom-color:var(--kn-opinion)}
.kn-sec-title{font-family:var(--kn-sans);font-size:.95rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--kn-black);display:flex;align-items:center;gap:8px}
.kn-sec-icon{width:22px;height:22px;border-radius:3px;display:flex;align-items:center;justify-content:center;font-size:.7rem;color:#fff;flex-shrink:0}
.kn-sec-icon--business{background:var(--kn-business)}
.kn-sec-icon--politics{background:var(--kn-politics)}
.kn-sec-icon--tech{background:var(--kn-tech)}
.kn-sec-icon--sports{background:var(--kn-sports)}
.kn-sec-icon--counties{background:var(--kn-counties)}
.kn-sec-icon--entertainment{background:var(--kn-entertainment)}
.kn-sec-icon--opinion{background:var(--kn-opinion)}
.kn-sec-link{font-family:var(--kn-sans);font-size:.73rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--kn-purple);display:flex;align-items:center;gap:3px}
.kn-sec-link:hover{color:var(--kn-red)}

/* =========================================
   CATEGORY BADGES
========================================= */
.kn-badge{font-family:var(--kn-sans);font-size:.62rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;padding:3px 7px;border-radius:2px;display:inline-block;color:#fff}
.kn-badge-purple{background:var(--kn-purple)}
.kn-badge-red{background:var(--kn-red)}
.kn-badge-business{background:var(--kn-business)}
.kn-badge-politics{background:var(--kn-politics)}
.kn-badge-tech{background:var(--kn-tech)}
.kn-badge-sports{background:var(--kn-sports)}
.kn-badge-counties{background:var(--kn-counties)}
.kn-badge-entertainment{background:var(--kn-entertainment)}
.kn-badge-opinion{background:var(--kn-opinion)}

/* =========================================
   CARDS
========================================= */
.kn-card{position:relative;overflow:hidden;border-radius:var(--kn-radius);background:var(--kn-white);transition:transform var(--kn-tr),box-shadow var(--kn-tr)}
.kn-card:hover{transform:translateY(-2px);box-shadow:var(--kn-shadow-md)}

/* Hero card */
.kn-card-hero{height:100%;min-height:460px}
.kn-card-hero .kn-card-img{height:460px;border-radius:var(--kn-radius);overflow:hidden;position:relative}
.kn-card-hero .kn-card-img img{width:100%;height:460px;object-fit:cover;transition:transform .55s ease}
.kn-card:hover .kn-card-img img{transform:scale(1.03)}
.kn-card-overlay{position:absolute;bottom:0;left:0;right:0;padding:26px;background:linear-gradient(to top,rgba(10,10,10,.95) 0%,rgba(10,10,10,.55) 55%,transparent 100%);color:#fff;border-radius:0 0 var(--kn-radius) var(--kn-radius)}
.kn-card-hero .kn-card-title{color:#fff;font-size:clamp(1.15rem,2.3vw,1.8rem);margin-bottom:8px}
.kn-card-hero .kn-card-title a{color:#fff}
.kn-card-hero .kn-card-title a:hover{color:rgba(255,255,255,.85)}
.kn-card-excerpt{color:rgba(255,255,255,.82);font-size:.87rem;margin-bottom:10px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.kn-card-meta{display:flex;align-items:center;gap:6px;margin-bottom:7px;flex-wrap:wrap}
.kn-card-date{font-family:var(--kn-sans);font-size:.7rem;color:var(--kn-g500)}
.kn-card-date-w{font-family:var(--kn-sans);font-size:.7rem;color:rgba(255,255,255,.6)}
.kn-read-more{font-family:var(--kn-sans);font-size:.74rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:rgba(255,255,255,.8);transition:color var(--kn-tr)}
.kn-read-more:hover{color:#fff}
.kn-read-more-dark{font-family:var(--kn-sans);font-size:.74rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--kn-purple)}
.kn-read-more-dark:hover{color:var(--kn-red)}

/* Small grid card */
.kn-card-sm .kn-card-img{border-radius:var(--kn-radius);overflow:hidden}
.kn-card-sm .kn-card-img img{width:100%;height:172px;object-fit:cover;transition:transform .55s ease}
.kn-card-sm .kn-card-body{padding:10px 0 0}
.kn-card-sm .kn-card-title{font-size:.96rem;line-height:1.35;margin-bottom:5px}

/* Medium card */
.kn-card-md .kn-card-img{border-radius:var(--kn-radius);overflow:hidden}
.kn-card-md .kn-card-img img{width:100%;height:230px;object-fit:cover;transition:transform .55s ease}
.kn-card-md .kn-card-body{padding:12px 0 0}
.kn-card-md .kn-card-title{font-size:1.1rem;line-height:1.3}

/* Horizontal card */
.kn-card-hz{display:grid;grid-template-columns:105px 1fr;gap:12px;padding:10px;border:var(--kn-border);border-radius:var(--kn-radius)}
.kn-card-hz:hover{border-color:var(--kn-purple)}
.kn-card-hz .kn-card-img{overflow:hidden;border-radius:3px}
.kn-card-hz .kn-card-img img{width:105px;height:80px;object-fit:cover;transition:transform .55s ease}
.kn-card-hz .kn-card-body{display:flex;flex-direction:column;justify-content:center}
.kn-card-hz .kn-card-title{font-size:.87rem;line-height:1.35}

/* Opinion card */
.kn-opinion-card{background:var(--kn-white);border:var(--kn-border);border-radius:var(--kn-radius);padding:20px;transition:all var(--kn-tr);display:flex;flex-direction:column}
.kn-opinion-card:hover{box-shadow:var(--kn-shadow-md);border-color:var(--kn-purple)}
.kn-opinion-author{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.kn-opinion-avatar{width:48px;height:48px;border-radius:50%;overflow:hidden;border:2px solid var(--kn-g200);flex-shrink:0}
.kn-opinion-avatar img{width:100%;height:100%;object-fit:cover}
.kn-opinion-name{font-family:var(--kn-sans);font-size:.82rem;font-weight:700;color:var(--kn-black);display:block}
.kn-opinion-role{font-family:var(--kn-sans);font-size:.7rem;color:var(--kn-g500)}
.kn-opinion-title{font-size:1rem;line-height:1.35;margin-bottom:8px;flex:1}
.kn-opinion-excerpt{font-size:.83rem;color:var(--kn-g600);margin-bottom:12px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}

/* Video card */
.kn-video-card{border-radius:var(--kn-radius);overflow:hidden;background:var(--kn-black);position:relative}
.kn-video-card img{width:100%;height:158px;object-fit:cover;opacity:.75;transition:opacity var(--kn-tr)}
.kn-video-card:hover img{opacity:.9}
.kn-video-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-60%);width:42px;height:42px;background:var(--kn-red);border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 3px 16px rgba(0,0,0,.5);transition:all var(--kn-tr)}
.kn-video-card:hover .kn-video-play{transform:translate(-50%,-60%) scale(1.1);box-shadow:0 5px 22px rgba(213,38,53,.5)}
.kn-video-body{padding:10px 12px 12px;background:var(--kn-g900)}
.kn-video-title{font-family:var(--kn-sans);font-size:.85rem;font-weight:600;color:#fff;line-height:1.35}

/* =========================================
   HERO SECTION
========================================= */
.kn-hero{padding:24px 0;background:var(--kn-white);border-bottom:var(--kn-border)}
.kn-hero-grid{display:grid;grid-template-columns:1fr 1fr 264px;grid-template-rows:auto auto;gap:14px}

/* =========================================
   HOMEPAGE SECTIONS
========================================= */
.kn-section{padding:40px 0}
.kn-section-gray{background:var(--kn-g100)}
.kn-section-dark{background:var(--kn-g900)}
.kn-section-purple{background:var(--kn-purple)}
.kn-section-red{background:var(--kn-red)}

/* =========================================
   SIDEBAR
========================================= */
.kn-sidebar{position:sticky;top:155px}
.kn-widget{margin-bottom:28px}
.kn-widget-title{font-family:var(--kn-sans);font-size:.76rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--kn-black);padding-bottom:8px;border-bottom:3px solid var(--kn-purple);margin-bottom:14px}

/* Most read */
.kn-most-read{list-style:none;padding:0}
.kn-most-read li{display:flex;gap:12px;align-items:flex-start;padding:9px 0;border-bottom:1px solid var(--kn-g100)}
.kn-most-read li:last-child{border-bottom:none}
.kn-mr-num{font-family:var(--kn-serif);font-size:1.65rem;font-weight:900;color:var(--kn-g200);line-height:1;flex-shrink:0;min-width:26px;transition:color var(--kn-tr)}
.kn-most-read li:hover .kn-mr-num{color:var(--kn-purple)}
.kn-mr-title{font-family:var(--kn-sans);font-size:.83rem;font-weight:600;color:var(--kn-g800);line-height:1.4}
.kn-mr-title a{color:inherit}
.kn-mr-title a:hover{color:var(--kn-purple)}

/* Weather */
.kn-weather{background:linear-gradient(135deg,var(--kn-purple),var(--kn-purple-dark));border-radius:var(--kn-radius-lg);padding:20px;color:#fff;position:relative;overflow:hidden}
.kn-weather::before{content:'';position:absolute;top:-22px;right:-22px;width:88px;height:88px;background:rgba(255,255,255,.07);border-radius:50%}
.kn-weather-city{font-family:var(--kn-sans);font-size:.76rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;opacity:.8;margin-bottom:3px}
.kn-weather-temp{font-family:var(--kn-serif);font-size:2.8rem;font-weight:900;line-height:1}
.kn-weather-desc{font-family:var(--kn-sans);font-size:.87rem;opacity:.85;margin-top:3px}

/* Sidebar newsletter mini */
.kn-sidebar-nl input{width:100%;padding:9px 12px;background:var(--kn-white);border:2px solid var(--kn-g200);border-radius:var(--kn-radius);font-family:var(--kn-sans);font-size:.87rem;outline:none;transition:border-color var(--kn-tr);color:var(--kn-g800);margin-bottom:7px}
.kn-sidebar-nl input:focus{border-color:var(--kn-purple)}

/* =========================================
   NEWSLETTER SECTION
========================================= */
.kn-newsletter{background:linear-gradient(135deg,var(--kn-purple-dark) 0%,var(--kn-purple) 100%);padding:60px 0;position:relative;overflow:hidden}
.kn-newsletter::before{content:'';position:absolute;top:-30%;right:-8%;width:480px;height:480px;background:radial-gradient(circle,rgba(213,38,53,.18),transparent 68%);pointer-events:none}
.kn-newsletter::after{content:'';position:absolute;bottom:-30%;left:-5%;width:320px;height:320px;background:radial-gradient(circle,rgba(255,255,255,.06),transparent 68%);pointer-events:none}
.kn-nl-inner{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;position:relative;z-index:1}
.kn-nl-label{font-family:var(--kn-sans);font-size:.68rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.6);margin-bottom:10px}
.kn-nl-title{font-size:clamp(1.5rem,3vw,2.2rem);color:#fff;line-height:1.2;margin-bottom:12px}
.kn-nl-title em{color:#ffd166;font-style:normal}
.kn-nl-text{color:rgba(255,255,255,.7);font-size:.9rem;line-height:1.7}
.kn-nl-perks{list-style:none;padding:0;margin-top:14px;display:flex;flex-direction:column;gap:7px}
.kn-nl-perks li{font-family:var(--kn-sans);font-size:.82rem;color:rgba(255,255,255,.7);display:flex;align-items:center;gap:7px}
.kn-nl-perks li::before{content:'✓';color:#ffd166;font-weight:800}
.kn-nl-form{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:var(--kn-radius-lg);padding:28px}
.kn-nl-form-title{font-family:var(--kn-sans);font-size:1.05rem;font-weight:700;color:#fff;margin-bottom:18px}
.kn-form-row{margin-bottom:12px}
.kn-form-row label{display:block;font-family:var(--kn-sans);font-size:.72rem;font-weight:600;color:rgba(255,255,255,.6);margin-bottom:4px;text-transform:uppercase;letter-spacing:.05em}
.kn-form-input{width:100%;padding:10px 13px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);border-radius:var(--kn-radius);color:#fff;font-family:var(--kn-sans);font-size:.88rem;outline:none;transition:border-color var(--kn-tr)}
.kn-form-input:focus{border-color:rgba(255,255,255,.5)}
.kn-form-input::placeholder{color:rgba(255,255,255,.35)}
.kn-nl-privacy{font-family:var(--kn-sans);font-size:.7rem;color:rgba(255,255,255,.45);text-align:center;margin-top:12px;line-height:1.5}

/* =========================================
   SINGLE POST
========================================= */
.kn-single{padding:40px 0;background:var(--kn-white)}
.kn-breadcrumbs{font-family:var(--kn-sans);font-size:.73rem;color:var(--kn-g500);display:flex;align-items:center;gap:5px;margin-bottom:16px;flex-wrap:wrap}
.kn-breadcrumbs a{color:var(--kn-g500)}
.kn-breadcrumbs a:hover{color:var(--kn-purple)}
.kn-breadcrumbs-sep{color:var(--kn-g300)}
.kn-article-title{font-size:clamp(1.7rem,4vw,2.8rem);margin-bottom:16px;line-height:1.2}
.kn-article-subtitle{font-family:var(--kn-body);font-size:1.08rem;color:var(--kn-g600);line-height:1.65;margin-bottom:22px;padding-left:16px;border-left:4px solid var(--kn-red);font-style:italic}
.kn-author-row{display:flex;align-items:center;justify-content:space-between;padding:16px 0;border-top:var(--kn-border);border-bottom:var(--kn-border);margin-bottom:26px;flex-wrap:wrap;gap:12px}
.kn-author-block{display:flex;align-items:center;gap:12px}
.kn-author-ava{width:44px;height:44px;border-radius:50%;overflow:hidden;border:2px solid var(--kn-g200);flex-shrink:0}
.kn-author-ava img{width:100%;height:100%;object-fit:cover}
.kn-author-name{font-family:var(--kn-sans);font-size:.86rem;font-weight:700;color:var(--kn-black);display:block}
.kn-author-name a{color:var(--kn-black)}
.kn-author-name a:hover{color:var(--kn-purple)}
.kn-author-meta{font-family:var(--kn-sans);font-size:.7rem;color:var(--kn-g500);display:flex;gap:6px;margin-top:2px;flex-wrap:wrap}
.kn-share-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.kn-share-lbl{font-family:var(--kn-sans);font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--kn-g500)}
.kn-share-btn{display:inline-flex;align-items:center;gap:4px;padding:5px 9px;border-radius:3px;font-family:var(--kn-sans);font-size:.7rem;font-weight:600;color:#fff;transition:all var(--kn-tr);text-decoration:none;cursor:pointer;border:none}
.kn-share-btn:hover{opacity:.88;color:#fff;transform:translateY(-1px)}
.s-tw{background:#000}.s-fb{background:#1877F2}.s-wa{background:#25D366}.s-cp{background:var(--kn-g600)}
.kn-feat-img{border-radius:var(--kn-radius);overflow:hidden;margin-bottom:28px}
.kn-feat-img img{width:100%;max-height:490px;object-fit:cover}
.kn-feat-img figcaption{padding:7px 13px;background:var(--kn-g100);font-family:var(--kn-sans);font-size:.7rem;color:var(--kn-g500);font-style:italic}
.kn-article-body{font-size:1.03rem;line-height:1.88;color:var(--kn-g800)}
.kn-article-body p{margin-bottom:1.4em}
.kn-article-body h2{font-size:1.5rem;margin:1.8em 0 .7em;padding-bottom:.45em;border-bottom:2px solid var(--kn-g200)}
.kn-article-body h3{font-size:1.2rem;margin:1.5em 0 .5em}
.kn-article-body blockquote{border-left:5px solid var(--kn-purple);margin:1.8em 0;padding:16px 22px;background:var(--kn-purple-light);border-radius:0 var(--kn-radius) var(--kn-radius) 0}
.kn-article-body blockquote p{font-size:1.05rem;font-style:italic;color:var(--kn-g700);font-family:var(--kn-serif);margin:0}
.kn-article-body ul li,.kn-article-body ol li{margin-bottom:.4em}
.kn-article-tags{display:flex;flex-wrap:wrap;gap:6px;margin:28px 0;padding:22px 0;border-top:var(--kn-border);border-bottom:var(--kn-border)}
.kn-tag{font-family:var(--kn-sans);font-size:.7rem;font-weight:600;padding:4px 10px;background:var(--kn-g100);color:var(--kn-g700);border-radius:20px;border:1px solid var(--kn-g200);transition:all var(--kn-tr)}
.kn-tag:hover{background:var(--kn-purple-light);border-color:var(--kn-purple);color:var(--kn-purple)}

/* Author box */
.kn-author-box{background:var(--kn-g100);border-radius:var(--kn-radius-lg);padding:24px;margin:28px 0;display:grid;grid-template-columns:80px 1fr;gap:22px;align-items:start;border:var(--kn-border)}
.kn-author-box-ava{width:80px;height:80px;border-radius:50%;overflow:hidden;border:3px solid #fff;box-shadow:var(--kn-shadow)}
.kn-author-box-ava img{width:100%;height:100%;object-fit:cover}
.kn-author-box-label{font-family:var(--kn-sans);font-size:.63rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--kn-purple);margin-bottom:3px;display:block}
.kn-author-box-name{font-size:1.2rem;margin-bottom:3px}
.kn-author-box-role{font-family:var(--kn-sans);font-size:.76rem;color:var(--kn-g500);margin-bottom:9px}
.kn-author-box-bio{font-size:.87rem;color:var(--kn-g600);line-height:1.65;margin-bottom:12px}

/* =========================================
   AUTHOR PROFILE PAGE
========================================= */
.kn-author-profile-hdr{background:linear-gradient(135deg,var(--kn-purple-dark),var(--kn-purple));padding:52px 0;color:#fff}
.kn-author-profile-inner{display:grid;grid-template-columns:140px 1fr auto;gap:28px;align-items:center}
.kn-author-profile-ava{width:140px;height:140px;border-radius:50%;overflow:hidden;border:4px solid var(--kn-red);box-shadow:var(--kn-shadow-md)}
.kn-author-profile-ava img{width:100%;height:100%;object-fit:cover}
.kn-author-profile-name{font-size:2.2rem;color:#fff;margin-bottom:4px}
.kn-author-profile-role{font-family:var(--kn-sans);font-size:.8rem;color:rgba(255,255,255,.65);font-weight:600;margin-bottom:12px;text-transform:uppercase;letter-spacing:.08em}
.kn-author-profile-bio{color:rgba(255,255,255,.72);max-width:580px;font-size:.9rem;line-height:1.7}
.kn-stat{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);border-radius:var(--kn-radius);padding:16px 22px;text-align:center;min-width:90px}
.kn-stat-num{font-family:var(--kn-serif);font-size:1.8rem;font-weight:900;color:#ffd166;display:block;line-height:1}
.kn-stat-lbl{font-family:var(--kn-sans);font-size:.68rem;color:rgba(255,255,255,.5);text-transform:uppercase;letter-spacing:.08em;margin-top:3px}

/* =========================================
   CATEGORY HEADER
========================================= */
.kn-cat-hdr{background:linear-gradient(135deg,var(--kn-purple-dark),var(--kn-purple));padding:28px 0;color:#fff;position:relative}
.kn-cat-hdr::after{content:'';position:absolute;bottom:0;left:0;right:0;height:4px;background:var(--kn-red)}
.kn-cat-name{font-size:2rem;color:#fff;margin-bottom:3px}
.kn-cat-count{font-family:var(--kn-sans);font-size:.8rem;color:rgba(255,255,255,.55)}

/* =========================================
   COMMENTS
========================================= */
.kn-comments-title{font-size:1.35rem;margin-bottom:22px;padding-bottom:12px;border-bottom:3px solid var(--kn-purple)}
.kn-comment{display:grid;grid-template-columns:42px 1fr;gap:12px;padding:16px 0;border-bottom:var(--kn-border)}
.kn-comment-ava{width:42px;height:42px;border-radius:50%;overflow:hidden;background:var(--kn-g200)}
.kn-comment-ava img{width:100%;height:100%;object-fit:cover}
.kn-comment-name{font-family:var(--kn-sans);font-size:.84rem;font-weight:700;color:var(--kn-black)}
.kn-comment-date{font-family:var(--kn-sans);font-size:.68rem;color:var(--kn-g400)}
.kn-comment-text{font-size:.88rem;color:var(--kn-g700);line-height:1.62;margin-top:5px}
.kn-comment-form-input{width:100%;padding:10px 13px;background:var(--kn-white);border:2px solid var(--kn-g200);border-radius:var(--kn-radius);font-family:var(--kn-sans);font-size:.88rem;outline:none;transition:border-color var(--kn-tr);color:var(--kn-g800)}
.kn-comment-form-input:focus{border-color:var(--kn-purple)}

/* =========================================
   PAGINATION
========================================= */
.kn-pagination{display:flex;align-items:center;gap:5px;margin:36px 0;flex-wrap:wrap}
.kn-pagination a,.kn-pagination span{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border:2px solid var(--kn-g200);border-radius:var(--kn-radius);font-family:var(--kn-sans);font-size:.8rem;font-weight:600;color:var(--kn-g600);transition:all var(--kn-tr)}
.kn-pagination a:hover{border-color:var(--kn-purple);color:var(--kn-purple)}
.kn-pagination .current{background:var(--kn-purple);border-color:var(--kn-purple);color:#fff}

/* =========================================
   FOOTER
========================================= */
.kn-footer{background:var(--kn-g900);color:var(--kn-g400);padding:52px 0 0}
.kn-footer-top{display:grid;grid-template-columns:1.35fr 1fr 1fr 1fr;gap:36px;padding-bottom:36px;border-bottom:1px solid rgba(255,255,255,.06)}
.kn-footer-widget-title{font-family:var(--kn-sans);font-size:.69rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#fff;margin-bottom:18px;padding-bottom:6px;border-bottom:2px solid var(--kn-red);display:inline-block}
.kn-footer-nav{list-style:none;padding:0;display:flex;flex-direction:column;gap:8px}
.kn-footer-nav a{font-family:var(--kn-sans);font-size:.81rem;color:var(--kn-g500);transition:all var(--kn-tr);display:block}
.kn-footer-nav a:hover{color:rgba(255,209,102,.9);padding-left:4px}
.kn-footer-brand-desc{font-family:var(--kn-sans);font-size:.82rem;color:var(--kn-g500);line-height:1.7;margin:12px 0 16px}
.kn-footer-recent{display:flex;gap:10px;padding:9px 0;border-bottom:1px solid rgba(255,255,255,.04)}
.kn-footer-recent:last-child{border-bottom:none}
.kn-footer-recent-img{width:54px;height:44px;border-radius:3px;overflow:hidden;flex-shrink:0;background:var(--kn-g700)}
.kn-footer-recent-img img{width:100%;height:44px;object-fit:cover}
.kn-footer-recent-title{font-family:var(--kn-sans);font-size:.79rem;font-weight:600;color:var(--kn-g300);line-height:1.4;display:block;margin-bottom:3px;transition:color var(--kn-tr)}
.kn-footer-recent-title:hover{color:rgba(255,209,102,.9)}
.kn-footer-recent-date{font-family:var(--kn-sans);font-size:.68rem;color:var(--kn-g600)}
.kn-footer-bottom{padding:16px 0;display:flex;align-items:center;justify-content:space-between;font-family:var(--kn-sans);font-size:.74rem;flex-wrap:wrap;gap:12px}
.kn-footer-copy{color:var(--kn-g600)}
.kn-footer-copy a{color:rgba(255,209,102,.8)}
.kn-footer-links{display:flex;gap:18px}
.kn-footer-links a{color:var(--kn-g600);transition:color var(--kn-tr)}
.kn-footer-links a:hover{color:rgba(255,209,102,.9)}
.kn-flag{display:flex;gap:2px;align-items:center}
.kn-flag span{display:block;height:12px;border-radius:1px}
.kn-flag-blk{width:17px;background:#0a0a0a;border:1px solid rgba(255,255,255,.15)}
.kn-flag-red{width:17px;background:var(--kn-red)}
.kn-flag-grn{width:17px;background:#006600}

/* =========================================
   SEARCH OVERLAY
========================================= */
.kn-search-overlay{position:fixed;inset:0;background:rgba(5,5,5,.96);z-index:9999;display:flex;align-items:flex-start;justify-content:center;padding-top:14vh;opacity:0;visibility:hidden;transition:all var(--kn-tr)}
.kn-search-overlay.open{opacity:1;visibility:visible}
.kn-search-inner{width:100%;max-width:680px;padding:0 24px}
.kn-search-field{position:relative;margin-bottom:22px}
.kn-search-field input{width:100%;padding:16px 52px 16px 0;background:transparent;border:none;border-bottom:3px solid var(--kn-purple);color:#fff;font-family:var(--kn-serif);font-size:1.9rem;outline:none}
.kn-search-field input::placeholder{color:var(--kn-g700)}
.kn-search-close{position:absolute;top:50%;right:0;transform:translateY(-50%);background:none;border:none;color:var(--kn-g500);cursor:pointer;font-size:1.4rem;padding:7px}

/* =========================================
   BACK TO TOP
========================================= */
.kn-back-top{position:fixed;bottom:22px;right:22px;width:42px;height:42px;background:var(--kn-purple);color:#fff;border-radius:var(--kn-radius);display:flex;align-items:center;justify-content:center;cursor:pointer;border:none;box-shadow:var(--kn-shadow-purple);opacity:0;visibility:hidden;transform:translateY(8px);transition:all var(--kn-tr);z-index:500;font-size:1rem}
.kn-back-top.visible{opacity:1;visibility:visible;transform:translateY(0)}
.kn-back-top:hover{background:var(--kn-purple-dark);transform:translateY(-2px)}

/* =========================================
   ACCESSIBILITY
========================================= */
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-wrap:normal!important}
.skip-link{position:absolute;top:-100%;left:0;z-index:10000;background:var(--kn-purple);color:#fff;padding:11px 22px;font-family:var(--kn-sans);font-size:.82rem;font-weight:700;text-decoration:none;border-radius:0 0 3px 3px}
.skip-link:focus{top:0}

/* =========================================
   READING PROGRESS
========================================= */
#kn-reading-bar{position:fixed;top:0;left:0;height:3px;background:var(--kn-red);z-index:9999;width:0;transition:width .1s;pointer-events:none}

/* =========================================
   PRINT
========================================= */
@media print{
  .kn-topbar,.kn-breaking,.kn-nav,.kn-sidebar,.kn-footer,.kn-newsletter,.kn-back-top{display:none!important}
  body{background:#fff}
  .kn-wrap{box-shadow:none;max-width:100%}
}

/* =========================================
   RESPONSIVE
========================================= */
@media(max-width:1100px){
  .kn-hero-grid{grid-template-columns:1fr 1fr}
  .kn-hero-sidebar-col{display:none}
  .kn-hero-main-col{grid-column:1/3;grid-row:1}
  .kn-content-grid{grid-template-columns:1fr}
  .kn-sidebar{position:static}
  .kn-footer-top{grid-template-columns:1fr 1fr;gap:24px}
  .kn-header-ad,.kn-ad-box{display:none}
  .kn-header-inner{grid-template-columns:auto 1fr}
  .kn-g5{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:768px){
  .kn-hamburger{display:flex}
  .kn-nav-menu{display:none;position:absolute;top:100%;left:0;right:0;background:var(--kn-purple-dark);flex-direction:column;border-top:2px solid var(--kn-red);box-shadow:var(--kn-shadow-md)}
  .kn-nav-menu.open{display:flex}
  .kn-nav-menu > li > a{padding:13px 18px;border-bottom:1px solid rgba(255,255,255,.06)}
  .kn-nav-live{display:none}
  .kn-hero-grid{grid-template-columns:1fr}
  .kn-g3,.kn-g4,.kn-g5{grid-template-columns:1fr 1fr}
  .kn-g2{grid-template-columns:1fr}
  .kn-nl-inner{grid-template-columns:1fr}
  .kn-footer-top{grid-template-columns:1fr}
  .kn-footer-bottom{flex-direction:column;text-align:center}
  .kn-author-profile-inner{grid-template-columns:1fr;text-align:center}
  .kn-author-profile-ava{margin:0 auto}
  .kn-author-row{flex-direction:column;align-items:flex-start}
  .kn-author-box{grid-template-columns:1fr}
}
@media(max-width:480px){
  .kn-g3,.kn-g4,.kn-g5{grid-template-columns:1fr}
  .kn-card-hz{grid-template-columns:88px 1fr}
}

/* =========================================
   HEADER — CENTERED LOGO (Updated)
========================================= */
.kn-header-inner--centered {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 16px;
}
.kn-header-side--left {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 8px;
}
.kn-header-side--right {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
}
.kn-header-logo-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
}
.kn-logo--image {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-decoration: none;
}
.kn-logo--image img {
  max-height: 60px;
  width: auto;
  max-width: 240px;
  display: block;
  object-fit: contain;
}
.kn-logo-fallback {
  display: flex;
  flex-direction: column;
  align-items: center;
}

@media (max-width: 768px) {
  .kn-header-inner--centered {
    grid-template-columns: auto 1fr auto;
    gap: 10px;
  }
  .kn-logo--image img {
    max-height: 46px;
    max-width: 160px;
  }
  .kn-header-side--left .kn-btn span,
  .kn-header-side--right .kn-btn span {
    display: none;
  }
}

@media (max-width: 480px) {
  .kn-header-inner--centered {
    grid-template-columns: 1fr;
    justify-items: center;
    gap: 12px;
  }
  .kn-header-side--left,
  .kn-header-side--right {
    justify-content: center;
  }
}

/* =========================================
   SPORTS SECTION — REDESIGNED
========================================= */
.kn-sports-scorebar {
  display: flex;
  align-items: center;
  background: var(--kn-black);
  border-radius: var(--kn-radius) var(--kn-radius) 0 0;
  overflow: hidden;
  margin-bottom: 0;
}
.kn-scorebar-label {
  display: flex;
  align-items: center;
  gap: 7px;
  background: var(--kn-red);
  color: #fff;
  padding: 8px 16px;
  font-family: var(--kn-sans);
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
  white-space: nowrap;
  flex-shrink: 0;
}
.kn-scorebar-ticker {
  overflow: hidden;
  flex: 1;
  padding: 0 16px;
}
.kn-scorebar-track {
  display: flex;
  align-items: center;
  gap: 0;
  animation: kn-ticker 30s linear infinite;
  white-space: nowrap;
}
.kn-scorebar-track:hover { animation-play-state: paused; }
.kn-score-item {
  font-family: var(--kn-sans);
  font-size: .75rem;
  color: var(--kn-g300);
  padding: 8px 20px 8px 0;
  display: inline-block;
}
.kn-score-item strong { color: #fff; }
.kn-score-num {
  color: #ffd166;
  font-weight: 800;
  font-size: .82rem;
}
.kn-score-sep {
  color: var(--kn-g600);
  padding-right: 20px;
  font-size: .9rem;
}
.kn-sports-layout {
  display: grid;
  grid-template-columns: 1fr 380px;
  gap: 0;
  background: var(--kn-g900);
  border-radius: 0 0 var(--kn-radius) var(--kn-radius);
  overflow: hidden;
}
.kn-sports-hero { position: relative; }
.kn-sports-hero-card { height: 100%; border-radius: 0; }
.kn-sports-hero-img {
  position: relative;
  height: 420px;
  overflow: hidden;
}
.kn-sports-hero-img a { display: block; height: 100%; }
.kn-sports-hero-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .6s ease;
}
.kn-sports-hero-card:hover .kn-sports-hero-img img { transform: scale(1.04); }
.kn-sports-hero-overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 28px 24px;
  background: linear-gradient(to top, rgba(0,0,0,.96) 0%, rgba(0,0,0,.6) 55%, transparent 100%);
}
.kn-sports-category-strip { margin-bottom: 10px; }
.kn-sports-hero-title {
  font-family: var(--kn-serif);
  font-size: clamp(1.2rem, 2vw, 1.7rem);
  font-weight: 700;
  color: #fff;
  line-height: 1.28;
  margin-bottom: 10px;
}
.kn-sports-hero-title a { color: #fff; }
.kn-sports-hero-title a:hover { color: rgba(255,255,255,.85); }
.kn-sports-hero-excerpt {
  color: rgba(255,255,255,.75);
  font-size: .86rem;
  line-height: 1.6;
  margin-bottom: 12px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.kn-sports-hero-meta {
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: var(--kn-sans);
  font-size: .72rem;
}
.kn-sports-author-ava img { border-radius: 50%; border: 2px solid rgba(255,255,255,.3); }
.kn-sports-byline { color: rgba(255,255,255,.85); font-weight: 600; }
.kn-sports-dot { color: rgba(255,255,255,.4); }
.kn-sports-time,.kn-sports-read { color: rgba(255,255,255,.55); }

/* Right stack */
.kn-sports-stack {
  display: flex;
  flex-direction: column;
  border-left: 1px solid rgba(255,255,255,.07);
}
.kn-sports-card-row {
  display: grid;
  grid-template-columns: 90px 1fr;
  gap: 0;
  border-bottom: 1px solid rgba(255,255,255,.07);
  cursor: pointer;
  transition: background var(--kn-tr);
}
.kn-sports-card-row:last-child { border-bottom: none; }
.kn-sports-card-row:hover { background: rgba(255,255,255,.04); }
.kn-sports-row-img {
  height: 105px;
  overflow: hidden;
  flex-shrink: 0;
}
.kn-sports-row-img a { display: block; height: 100%; }
.kn-sports-row-img img {
  width: 90px;
  height: 105px;
  object-fit: cover;
  transition: transform .4s;
}
.kn-sports-card-row:hover .kn-sports-row-img img { transform: scale(1.06); }
.kn-sports-row-body {
  padding: 12px 14px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 4px;
}
.kn-sports-row-title {
  font-family: var(--kn-serif);
  font-size: .9rem;
  font-weight: 700;
  line-height: 1.32;
  color: var(--kn-g100);
}
.kn-sports-row-title a { color: var(--kn-g100); }
.kn-sports-row-title a:hover { color: var(--kn-red-light); }
.kn-sports-row-meta {
  font-family: var(--kn-sans);
  font-size: .68rem;
  color: var(--kn-g500);
}

@media (max-width: 860px) {
  .kn-sports-layout { grid-template-columns: 1fr; }
  .kn-sports-stack { border-left: none; border-top: 1px solid rgba(255,255,255,.07); }
  .kn-sports-hero-img { height: 300px; }
}
@media (max-width: 600px) {
  .kn-sports-hero-img { height: 240px; }
}

/* =========================================
   OPINION SECTION — REDESIGNED
========================================= */
.kn-opinion-layout {
  display: grid;
  grid-template-columns: 420px 1fr;
  gap: 2px;
  background: var(--kn-g200);
  border-radius: var(--kn-radius);
  overflow: hidden;
}

/* Left featured */
.kn-opinion-featured { background: var(--kn-purple-dark); }
.kn-opinion-feature-card {
  height: 100%;
  padding: 32px 28px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 20px;
}
.kn-opinion-feature-header { display: flex; align-items: center; gap: 14px; }
.kn-opinion-feature-avatar {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  overflow: hidden;
  border: 3px solid rgba(255,255,255,.2);
  flex-shrink: 0;
}
.kn-opinion-feature-avatar img { width: 100%; height: 100%; object-fit: cover; }
.kn-opinion-feature-author-info { display: flex; flex-direction: column; gap: 4px; }
.kn-opinion-feature-name {
  font-family: var(--kn-sans);
  font-size: .95rem;
  font-weight: 700;
  color: #fff;
}
.kn-opinion-feature-role {
  font-family: var(--kn-sans);
  font-size: .72rem;
  color: rgba(255,255,255,.55);
}
.kn-opinion-pullquote {
  flex: 1;
  position: relative;
  padding: 0;
  border: none;
  background: none;
  margin: 0;
}
.kn-opinion-quote-mark {
  display: block;
  font-family: var(--kn-serif);
  font-size: 4rem;
  line-height: .7;
  color: var(--kn-red);
  margin-bottom: 8px;
  font-weight: 900;
}
.kn-opinion-pullquote {
  font-family: var(--kn-serif);
  font-size: 1.12rem;
  font-style: italic;
  color: rgba(255,255,255,.82);
  line-height: 1.65;
}
.kn-opinion-feature-title {
  font-size: 1.25rem;
  color: #fff;
  line-height: 1.3;
  font-weight: 700;
}
.kn-opinion-feature-title a { color: #fff; }
.kn-opinion-feature-title a:hover { color: rgba(255,255,255,.82); }
.kn-opinion-feature-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-top: 1px solid rgba(255,255,255,.12);
  padding-top: 14px;
}
.kn-opinion-feature-date {
  font-family: var(--kn-sans);
  font-size: .72rem;
  color: rgba(255,255,255,.45);
}
.kn-opinion-read-btn {
  font-family: var(--kn-sans);
  font-size: .74rem;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: #ffd166;
  display: flex;
  align-items: center;
  gap: 4px;
  transition: gap var(--kn-tr);
}
.kn-opinion-read-btn:hover { color: #fff; gap: 8px; }

/* Right compact grid */
.kn-opinion-grid-right {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2px;
  background: var(--kn-g200);
}
.kn-opinion-compact {
  background: var(--kn-white);
  padding: 20px 18px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  transition: background var(--kn-tr);
}
.kn-opinion-compact:hover { background: #fafafa; }
.kn-opinion-compact-top { display: flex; align-items: center; gap: 10px; }
.kn-opinion-compact-ava {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  overflow: hidden;
  border: 2px solid var(--kn-g200);
  flex-shrink: 0;
}
.kn-opinion-compact-ava img { width: 100%; height: 100%; object-fit: cover; }
.kn-opinion-compact-author { display: flex; flex-direction: column; }
.kn-opinion-compact-name {
  font-family: var(--kn-sans);
  font-size: .8rem;
  font-weight: 700;
  color: var(--kn-black);
}
.kn-opinion-compact-role {
  font-family: var(--kn-sans);
  font-size: .67rem;
  color: var(--kn-g500);
}
.kn-opinion-compact-title {
  font-size: .93rem;
  line-height: 1.35;
  font-weight: 700;
  flex: 1;
}
.kn-opinion-compact-title a { color: var(--kn-black); }
.kn-opinion-compact-title a:hover { color: var(--kn-purple); }
.kn-opinion-compact-excerpt {
  font-size: .8rem;
  color: var(--kn-g600);
  line-height: 1.55;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.kn-opinion-compact-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: 8px;
  border-top: 1px solid var(--kn-g100);
  margin-top: auto;
}
.kn-opinion-compact-footer > span {
  font-family: var(--kn-sans);
  font-size: .68rem;
  color: var(--kn-g400);
}
.kn-opinion-more {
  font-family: var(--kn-sans);
  font-size: .72rem;
  font-weight: 700;
  color: var(--kn-purple);
  letter-spacing: .03em;
}
.kn-opinion-more:hover { color: var(--kn-red); }

@media (max-width: 900px) {
  .kn-opinion-layout { grid-template-columns: 1fr; }
  .kn-opinion-feature-card { padding: 24px 20px; }
}
@media (max-width: 600px) {
  .kn-opinion-grid-right { grid-template-columns: 1fr; }
}

/* =========================================
   FOOTER — REDESIGNED (3-column, no Recent Stories)
========================================= */
.kn-footer-redesigned {
  background: var(--kn-black);
  color: var(--kn-g400);
  padding: 0;
}
.kn-footer-top-band {
  background: var(--kn-purple-dark);
  padding: 36px 0;
  border-bottom: 3px solid var(--kn-red);
}
.kn-footer-brand-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  flex-wrap: wrap;
}
.kn-footer-brand-left { display: flex; align-items: center; gap: 20px; }
.kn-footer-brand-logo { text-decoration: none; display: block; }
.kn-footer-logo-name {
  font-family: var(--kn-serif);
  font-size: 1.8rem;
  font-weight: 900;
  line-height: 1;
  letter-spacing: -.03em;
}
.kn-footer-logo-tag {
  font-family: var(--kn-sans);
  font-size: .58rem;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: rgba(255,255,255,.45);
  margin-top: 4px;
  display: block;
}
.kn-footer-divider {
  width: 1px;
  height: 48px;
  background: rgba(255,255,255,.15);
}
.kn-footer-brand-desc {
  font-family: var(--kn-sans);
  font-size: .82rem;
  color: rgba(255,255,255,.55);
  line-height: 1.7;
  max-width: 360px;
}
.kn-footer-social-group {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 10px;
}
.kn-footer-social-label {
  font-family: var(--kn-sans);
  font-size: .65rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: rgba(255,255,255,.35);
}
.kn-footer-social-icons {
  display: flex;
  gap: 8px;
}
.kn-footer-social-icons a {
  width: 36px;
  height: 36px;
  border: 1px solid rgba(255,255,255,.15);
  border-radius: var(--kn-radius);
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgba(255,255,255,.55);
  font-family: var(--kn-sans);
  font-size: .78rem;
  font-weight: 700;
  transition: all var(--kn-tr);
  text-decoration: none;
}
.kn-footer-social-icons a:hover {
  background: var(--kn-red);
  border-color: var(--kn-red);
  color: #fff;
  transform: translateY(-2px);
}

/* 3-column links area */
.kn-footer-links-area {
  padding: 40px 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
  border-bottom: 1px solid rgba(255,255,255,.06);
}
.kn-footer-col-title {
  font-family: var(--kn-sans);
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .15em;
  text-transform: uppercase;
  color: var(--kn-white);
  margin-bottom: 18px;
  padding-bottom: 8px;
  border-bottom: 2px solid var(--kn-red);
  display: inline-block;
}
.kn-footer-col-nav {
  list-style: none;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 9px;
}
.kn-footer-col-nav li a {
  font-family: var(--kn-sans);
  font-size: .81rem;
  color: var(--kn-g500);
  transition: all var(--kn-tr);
  display: flex;
  align-items: center;
  gap: 6px;
}
.kn-footer-col-nav li a:hover {
  color: rgba(255,209,102,.9);
  padding-left: 4px;
}
.kn-footer-col-nav li a::before {
  content: '→';
  color: var(--kn-red);
  font-size: .75rem;
  flex-shrink: 0;
}

/* Copyright bar */
.kn-footer-copyright-bar {
  padding: 18px 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
}
.kn-footer-copyright-text {
  font-family: var(--kn-sans);
  font-size: .76rem;
  color: var(--kn-g600);
}
.kn-footer-copyright-text strong {
  color: rgba(255,255,255,.6);
  font-weight: 600;
}
.kn-footer-copyright-links {
  display: flex;
  gap: 20px;
}
.kn-footer-copyright-links a {
  font-family: var(--kn-sans);
  font-size: .73rem;
  color: var(--kn-g600);
  transition: color var(--kn-tr);
}
.kn-footer-copyright-links a:hover { color: rgba(255,209,102,.88); }
.kn-footer-made-in {
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: var(--kn-sans);
  font-size: .72rem;
  color: var(--kn-g600);
}

@media (max-width: 860px) {
  .kn-footer-links-area { grid-template-columns: 1fr 1fr; }
  .kn-footer-brand-row { flex-direction: column; align-items: flex-start; }
  .kn-footer-social-group { align-items: flex-start; }
}
@media (max-width: 580px) {
  .kn-footer-links-area { grid-template-columns: 1fr; }
  .kn-footer-copyright-bar { flex-direction: column; text-align: center; }
  .kn-footer-brand-left { flex-direction: column; align-items: flex-start; }
  .kn-footer-divider { display: none; }
}

/* =========================================
   HEADER — "2026 World Cup" button
========================================= */
.kn-worldcup-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 16px;
  background: linear-gradient(135deg, #1a6b3a, #0d4d2a);
  color: #fff;
  border: 2px solid rgba(255,255,255,.2);
  border-radius: var(--kn-radius);
  font-family: var(--kn-sans);
  font-size: .74rem;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  text-decoration: none;
  transition: all var(--kn-tr);
  white-space: nowrap;
  cursor: pointer;
}
.kn-worldcup-btn:hover {
  background: linear-gradient(135deg, #218c4c, #155e34);
  color: #fff;
  transform: translateY(-1px);
  box-shadow: 0 4px 16px rgba(26,107,58,.4);
}
.kn-worldcup-btn .wc-icon {
  font-size: .9rem;
  line-height: 1;
}

/* =========================================
   BOXED THEME — UNIFIED CONSISTENT WIDTH
   All pages: single post, category, archive,
   author, static pages use same max-width
========================================= */

/* Override the inner container to be consistently boxed */
.kn-wrap {
  max-width: 1240px;
  margin: 0 auto;
  background: var(--kn-white);
  box-shadow: 0 0 80px rgba(0,0,0,.13);
  overflow: hidden;
}

/* Unified content width for all page types */
.kn-single,
.kn-page-content,
main[id="kn-main"] {
  background: var(--kn-g100);
}

/* Single post: constrain article column width for readability */
.kn-content-grid {
  display: grid;
  grid-template-columns: 1fr 292px;
  gap: 32px;
  align-items: start;
  max-width: 100%;
}

/* The article column inside the grid */
.kn-article {
  background: var(--kn-white);
  border-radius: 0;
  overflow: hidden;
}

/* Constrain post body text for comfortable reading */
.kn-article-inner-wrap {
  padding: 28px 32px 32px;
}

/* SINGLE POST: reduced featured image height to fit theme */
.kn-feat-img {
  border-radius: 0;
  overflow: hidden;
  margin-bottom: 0;
  position: relative;
}
.kn-feat-img img {
  width: 100%;
  max-height: 420px;
  object-fit: cover;
  display: block;
}

/* Photo caption with faded/frosted background */
.kn-feat-img figcaption {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 10px 16px;
  background: linear-gradient(to top, rgba(0,0,0,.72) 0%, rgba(0,0,0,.38) 60%, transparent 100%);
  color: rgba(255,255,255,.88);
  font-family: var(--kn-sans);
  font-size: .72rem;
  font-style: italic;
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
}

/* Drop cap on the first paragraph of article body */
.kn-article-body > p:first-of-type::first-letter {
  float: left;
  font-family: var(--kn-serif);
  font-size: 4.2rem;
  font-weight: 900;
  line-height: .78;
  margin: 4px 10px 0 0;
  color: var(--kn-purple);
  text-shadow: 1px 1px 0 var(--kn-purple-light);
}

/* Uniform section padding for all pages */
.kn-page-wrap-uniform {
  padding: 32px 0 48px;
  background: var(--kn-g100);
}
.kn-page-wrap-uniform .kn-con {
  max-width: 1240px;
}

/* Archive / category header consistent */
.kn-cat-hdr,
.kn-author-profile-hdr {
  margin-bottom: 0;
}

/* Ensure all page content matches the same container */
.kn-single .kn-con,
.kn-page-wrap-uniform .kn-con,
.kn-section .kn-con,
.kn-cat-section .kn-con {
  padding: 0 24px;
  max-width: 1240px;
  margin: 0 auto;
}

/* Article header area padding */
.kn-article-header-pad {
  padding: 24px 32px 0;
}

/* Tags and bottom share area padding */
.kn-article-footer-pad {
  padding: 0 32px 32px;
}

/* =========================================
   FOOTER — LOGO IMAGE (replace text)
========================================= */
.kn-footer-logo-img {
  max-height: 48px;
  width: auto;
  max-width: 180px;
  object-fit: contain;
  display: block;
  filter: brightness(0) invert(1);   /* make logo white on dark bg */
  opacity: .88;
}
.kn-footer-logo-img:hover {
  opacity: 1;
}

/* =========================================
   NEWSLETTER SECTION — LOGO IMAGE (replace text)
========================================= */
.kn-nl-logo-img {
  max-height: 44px;
  width: auto;
  max-width: 160px;
  object-fit: contain;
  display: block;
  filter: brightness(0) invert(1);
  opacity: .9;
  margin-bottom: 16px;
}

/* =========================================
   RESPONSIVE BOXED ADJUSTMENTS
========================================= */
@media (max-width: 1100px) {
  .kn-content-grid { grid-template-columns: 1fr; }
  .kn-article-inner-wrap { padding: 20px 20px 28px; }
  .kn-article-header-pad { padding: 18px 20px 0; }
  .kn-article-footer-pad { padding: 0 20px 24px; }
}
@media (max-width: 768px) {
  .kn-feat-img img { max-height: 280px; }
  .kn-article-inner-wrap { padding: 16px 16px 22px; }
  .kn-article-header-pad { padding: 14px 16px 0; }
  .kn-article-footer-pad { padding: 0 16px 18px; }
  .kn-article-body > p:first-of-type::first-letter {
    font-size: 3.2rem;
    margin: 3px 8px 0 0;
  }
}
@media (max-width: 480px) {
  .kn-feat-img img { max-height: 220px; }
  .kn-article-body > p:first-of-type::first-letter {
    font-size: 2.8rem;
  }
}
