/*
Theme Name:        Kangra Ki Awaaz
Theme URI:         https://github.com/TA-ashrafi/kangra-ki-awaaz
Author:            Tahseen Ashrafi
Author URI:        https://github.com/TA-ashrafi
Description:       Professional hyperlocal newspaper WordPress theme for Himachal Pradesh regional news. Bilingual Hindi/English layout with customizable sections, breaking news ticker, hero grid, category-based post sections, trending tags, and full Customizer control.
Version:           1.2.0
Requires at least: 6.0
Tested up to:      6.7
Requires PHP:      7.4
License:           GNU General Public License v2 or later
License URI:       https://www.gnu.org/licenses/gpl-2.0.html
Text Domain:       kangra-ki-awaaz
Tags:              news, magazine, hindi, regional, newspaper, custom-menu, custom-logo, featured-images, translation-ready
*/

/* ============================================================
   CSS VARIABLES
   ============================================================ */
:root {
  --kka-green-dark:    #0a5c2f;
  --kka-green-mid:     #0f7a3e;
  --kka-green-bright:  #16a34a;
  --kka-green-light:   #bbf7d0;
  --kka-green-pale:    #f0fdf4;
  --kka-accent-gold:   #b45309;
  --kka-accent-saffron:#d97706;
  --kka-text-dark:     #111827;
  --kka-text-mid:      #374151;
  --kka-text-muted:    #6b7280;
  --kka-border:        #e5e7eb;
  --kka-bg-white:      #ffffff;
  --kka-bg-light:      #f9fafb;
  --kka-red-breaking:  #dc2626;
  --kka-strip-bg:      #0a5c2f;
}

/* ============================================================
   RESET
   ============================================================ */
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { font-family:'Source Sans 3','Noto Sans Devanagari',sans-serif; color:var(--kka-text-dark); background:#fff; font-size:15px; line-height:1.6; }
a { text-decoration:none; color:inherit; }
img { max-width:100%; height:auto; display:block; }
ul { list-style:none; }
button { cursor:pointer; font-family:inherit; }

/* ============================================================
   TOP BAR
   ============================================================ */
.kka-topbar { background:var(--kka-green-dark); color:#fff; font-size:12px; padding:5px 0; border-bottom:2px solid var(--kka-accent-gold); }
.kka-topbar__inner { max-width:1280px; margin:auto; padding:0 16px; display:flex; align-items:center; justify-content:space-between; gap:12px; }
.kka-topbar__date { opacity:.85; white-space:nowrap; font-size:11px; font-family:'Noto Sans Devanagari',sans-serif; }
.kka-topbar__nav ul { display:flex; gap:16px; list-style:none; }
.kka-topbar__nav ul li a { color:#ccc; font-size:11px; transition:color .2s; }
.kka-topbar__nav ul li a:hover { color:var(--kka-green-light); }
.kka-topbar__social { display:flex; gap:8px; align-items:center; flex-shrink:0; }
.kka-topbar__social a { color:#fff; background:rgba(255,255,255,.15); border-radius:3px; width:26px; height:26px; display:flex; align-items:center; justify-content:center; transition:background .2s; }
.kka-topbar__social a svg { width:13px; height:13px; fill:currentColor; }
.kka-topbar__social a:hover { background:var(--kka-green-bright); }

/* ============================================================
   TICKER
   ============================================================ */
.kka-ticker { background:#fff; border-bottom:1px solid var(--kka-border); padding:7px 0; overflow:hidden; }
.kka-ticker__inner { max-width:1280px; margin:auto; padding:0 16px; display:flex; align-items:center; }
.kka-ticker__label { background:var(--kka-red-breaking); color:#fff; font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:1px; padding:3px 10px; white-space:nowrap; flex-shrink:0; margin-right:16px; }
.kka-ticker__track { overflow:hidden; flex:1; }
.kka-ticker__content { display:flex; gap:40px; animation:kka-ticker 35s linear infinite; white-space:nowrap; }
.kka-ticker__content span { font-size:13px; color:var(--kka-text-mid); }
.kka-ticker__content span::before { content:"- "; color:var(--kka-green-bright); }
.kka-ticker__content:hover { animation-play-state:paused; }
@keyframes kka-ticker { 0%{transform:translateX(0)} 100%{transform:translateX(-50%)} }

/* ============================================================
   MASTHEAD
   ============================================================ */
.kka-masthead { background:#fff; border-bottom:3px solid var(--kka-green-dark); padding:16px 0 14px; }
.kka-masthead__inner { max-width:1280px; margin:auto; padding:0 16px; display:flex; align-items:center; justify-content:space-between; gap:20px; }

/* LOGO — spacing fixed */
.kka-logo { display:inline-block; text-decoration:none; }
.kka-logo .custom-logo-link img { max-height:72px; width:auto; }
.kka-logo__text { display:flex; flex-direction:column; }
.kka-logo__name { font-family:'Playfair Display','Georgia',serif; font-size:40px; font-weight:900; color:var(--kka-green-dark); letter-spacing:-1px; line-height:1; }
.kka-logo__name span { color:var(--kka-accent-gold); }
.kka-logo__tagline-hi { font-family:'Noto Sans Devanagari',sans-serif; font-size:12.5px; color:var(--kka-text-muted); letter-spacing:1.5px; margin-top:6px; line-height:1.4; display:block; }
.kka-logo__tagline-en { font-size:10.5px; color:var(--kka-green-mid); letter-spacing:1.2px; text-transform:uppercase; margin-top:4px; font-weight:600; line-height:1.4; display:block; }

/* Search */
.kka-search { display:flex; align-items:center; border:2px solid var(--kka-green-dark); border-radius:4px; overflow:hidden; flex-shrink:0; }
.kka-search .search-field { border:none; outline:none; padding:8px 12px; font-size:13px; width:190px; font-family:inherit; }
.kka-search .search-submit { background:var(--kka-green-dark); border:none; color:#fff; padding:8px 13px; font-size:13px; font-weight:600; cursor:pointer; transition:background .2s; }
.kka-search .search-submit:hover { background:var(--kka-green-bright); }

/* ============================================================
   NAVBAR
   ============================================================ */
.kka-navbar { background:var(--kka-green-dark); position:sticky; top:0; z-index:100; box-shadow:0 2px 8px rgba(0,0,0,.3); }
.kka-navbar__inner { max-width:1280px; margin:auto; padding:0 16px; display:flex; align-items:stretch; position:relative; overflow-x:auto; }
.kka-navbar__inner::-webkit-scrollbar { height:3px; }
.kka-navbar__inner::-webkit-scrollbar-thumb { background:var(--kka-green-bright); }
.kka-navbar__toggle { display:none; background:transparent; border:2px solid rgba(255,255,255,.5); color:#fff; padding:6px 12px; font-size:18px; border-radius:4px; margin-left:auto; align-self:center; }
#primary-menu { display:flex; align-items:stretch; list-style:none; }
#primary-menu .menu-item { position:relative; display:flex; align-items:center; }
#primary-menu .menu-item > a { color:#fff; font-size:13px; font-weight:600; text-transform:uppercase; letter-spacing:.5px; padding:14px 14px; display:block; transition:background .2s; white-space:nowrap; }
#primary-menu .menu-item > a:hover,
#primary-menu .current-menu-item > a,
#primary-menu .current-menu-parent > a { background:var(--kka-green-bright); }
#primary-menu .sub-menu { display:none; position:absolute; top:100%; left:0; background:#fff; min-width:180px; box-shadow:0 4px 16px rgba(0,0,0,.15); border-top:3px solid var(--kka-green-bright); z-index:200; list-style:none; }
#primary-menu .menu-item:hover > .sub-menu { display:block; }
#primary-menu .sub-menu .menu-item { display:block; }
#primary-menu .sub-menu .menu-item a { display:block; padding:9px 14px; font-size:13px; color:var(--kka-text-dark); border-bottom:1px solid var(--kka-border); text-transform:none; font-weight:400; transition:all .15s; }
#primary-menu .sub-menu .menu-item:last-child a { border-bottom:none; }
#primary-menu .sub-menu .menu-item a:hover { background:var(--kka-green-pale); color:var(--kka-green-dark); padding-left:18px; }

/* ============================================================
   SECTION HEADING
   ============================================================ */
.kka-section-head { display:flex; align-items:center; gap:10px; margin-bottom:16px; padding-bottom:10px; border-bottom:3px solid var(--kka-green-dark); }
.kka-section-head__title { font-family:'Playfair Display',serif; font-size:20px; font-weight:700; color:var(--kka-green-dark); text-transform:uppercase; letter-spacing:.5px; }
.kka-section-head__sub { font-family:'Noto Sans Devanagari',sans-serif; font-size:12px; color:var(--kka-green-mid); border-left:2px solid var(--kka-green-light); padding-left:10px; }
.kka-section-head__more { margin-left:auto; font-size:12px; color:var(--kka-green-mid); font-weight:600; text-transform:uppercase; letter-spacing:.5px; transition:color .2s; white-space:nowrap; }
.kka-section-head__more:hover { color:var(--kka-green-dark); }

/* ============================================================
   WRAP & LAYOUT
   ============================================================ */
.kka-wrap { max-width:1280px; margin:0 auto; padding:0 16px; }
.kka-cat-section { padding:20px 0; border-bottom:1px solid var(--kka-border); }
.kka-divider { height:1px; background:var(--kka-border); margin:14px 0; }

/* ============================================================
   TRENDING BAR
   ============================================================ */
.kka-trending { background:var(--kka-green-pale); border:1px solid var(--kka-green-light); border-left:4px solid var(--kka-green-bright); padding:9px 16px; margin:14px 0; display:flex; align-items:center; gap:12px; overflow:hidden; }
.kka-trending__label { font-size:11px; font-weight:700; text-transform:uppercase; color:var(--kka-green-dark); white-space:nowrap; letter-spacing:1px; flex-shrink:0; }
.kka-trending__tags { display:flex; gap:8px; flex-wrap:nowrap; overflow:hidden; }
.kka-trending__tag { font-size:12px; color:var(--kka-green-dark); background:#fff; border:1px solid var(--kka-green-light); padding:3px 10px; border-radius:20px; white-space:nowrap; transition:all .2s; }
.kka-trending__tag:hover { background:var(--kka-green-dark); color:#fff; }

/* ============================================================
   HERO — redesigned, proper image height
   ============================================================ */
.kka-hero { padding:18px 0 0; }
.kka-hero__grid { display:grid; grid-template-columns:1fr 330px; border:1px solid var(--kka-border); overflow:hidden; }

/* Main hero — FIXED: full height, no empty space */
.kka-hero__main { position:relative; overflow:hidden; border-right:1px solid var(--kka-border); display:block; background:#1a1a1a; }
.kka-hero__main-img { width:100%; height:100%; min-height:460px; max-height:520px; object-fit:cover; object-position:center top; transition:transform .5s ease; display:block; }
.kka-hero__main:hover .kka-hero__main-img { transform:scale(1.03); }
.kka-hero__main-overlay { position:absolute; bottom:0; left:0; right:0; background:linear-gradient(to top, rgba(0,0,0,.93) 0%, rgba(0,0,0,.65) 45%, rgba(0,0,0,.15) 75%, transparent 100%); padding:56px 22px 22px; }
.kka-hero__main-cat { display:inline-block; background:var(--kka-green-bright); color:#fff; font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:1.5px; padding:4px 10px; margin-bottom:10px; border-radius:2px; }
.kka-hero__main-title { font-family:'Playfair Display',serif; font-size:26px; font-weight:900; color:#fff; line-height:1.25; margin-bottom:10px; text-shadow:0 1px 4px rgba(0,0,0,.5); }
.kka-hero__main-meta { color:rgba(255,255,255,.72); font-size:12px; }

/* Side stories — 3 equal rows */
.kka-hero__side { display:grid; grid-template-rows:1fr 1fr 1fr; }
.kka-hero__side-item { display:flex; flex-direction:column; border-bottom:1px solid var(--kka-border); overflow:hidden; transition:background .2s; }
.kka-hero__side-item:last-child { border-bottom:none; }
.kka-hero__side-img { width:100%; height:130px; object-fit:cover; object-position:center; transition:transform .3s; flex-shrink:0; }
.kka-hero__side-item:hover .kka-hero__side-img { transform:scale(1.04); }
.kka-hero__side-content { padding:10px 13px 12px; flex:1; }
.kka-hero__side-cat { font-size:9.5px; font-weight:700; text-transform:uppercase; color:var(--kka-green-bright); letter-spacing:1.5px; margin-bottom:5px; display:block; }
.kka-hero__side-title { font-family:'Playfair Display',serif; font-size:13.5px; font-weight:700; line-height:1.38; color:var(--kka-text-dark); transition:color .2s; }
.kka-hero__side-item:hover .kka-hero__side-title { color:var(--kka-green-dark); }
.kka-hero__side-meta { font-size:11px; color:var(--kka-text-muted); margin-top:6px; }

/* ============================================================
   CONTENT ROW
   ============================================================ */
.kka-content-row { display:grid; grid-template-columns:1fr 1fr 1fr 300px; gap:20px; padding:22px 0; border-bottom:1px solid var(--kka-border); }
.kka-sidebar-col { border-left:1px solid var(--kka-border); padding-left:20px; }

/* ============================================================
   CARD
   ============================================================ */
.kka-card { display:block; }
.kka-card + .kka-card { margin-top:14px; padding-top:14px; border-top:1px solid var(--kka-border); }
.kka-card__img { width:100%; height:175px; object-fit:cover; margin-bottom:10px; transition:transform .3s; }
.kka-card:hover .kka-card__img { transform:scale(1.02); }
.kka-card__cat { font-size:10px; font-weight:700; text-transform:uppercase; color:var(--kka-green-bright); letter-spacing:1px; margin-bottom:5px; display:block; }
.kka-card__title { font-family:'Playfair Display',serif; font-size:16px; font-weight:700; line-height:1.35; color:var(--kka-text-dark); margin-bottom:6px; transition:color .2s; display:block; }
.kka-card:hover .kka-card__title { color:var(--kka-green-dark); }
.kka-card__excerpt { font-size:13px; color:var(--kka-text-mid); line-height:1.55; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.kka-card__meta { font-size:11px; color:var(--kka-text-muted); margin-top:8px; display:flex; gap:8px; align-items:center; flex-wrap:wrap; }

/* ============================================================
   MINI CARD
   ============================================================ */
.kka-mini { display:flex; gap:10px; padding:10px 0; border-bottom:1px solid var(--kka-border); align-items:flex-start; }
.kka-mini:last-child { border-bottom:none; }
.kka-mini__img { width:82px; height:62px; object-fit:cover; flex-shrink:0; }
.kka-mini__title { font-size:13px; font-weight:600; line-height:1.4; color:var(--kka-text-dark); transition:color .2s; display:block; }
.kka-mini:hover .kka-mini__title { color:var(--kka-green-dark); }
.kka-mini__meta { font-size:11px; color:var(--kka-text-muted); margin-top:3px; }

/* ============================================================
   LIST CARD
   ============================================================ */
.kka-list { display:flex; gap:10px; padding:10px 0; border-bottom:1px solid var(--kka-border); }
.kka-list:last-child { border-bottom:none; }
.kka-list__num { font-family:'Playfair Display',serif; font-size:22px; font-weight:900; color:var(--kka-green-light); line-height:1; flex-shrink:0; width:28px; }
.kka-list__title { font-size:13px; font-weight:600; line-height:1.4; color:var(--kka-text-dark); transition:color .2s; display:block; }
.kka-list:hover .kka-list__title { color:var(--kka-green-dark); }
.kka-list__meta { font-size:11px; color:var(--kka-text-muted); margin-top:3px; }

/* ============================================================
   GREEN STRIP — responsive grid + custom bg
   ============================================================ */
.kka-strip { background:var(--kka-strip-bg); color:#fff; padding:22px 0; margin:20px 0; }
.kka-strip .kka-section-head { border-bottom-color:rgba(255,255,255,.2); }
.kka-strip .kka-section-head__title { color:#fff; }
.kka-strip .kka-section-head__sub { color:rgba(255,255,255,.5); border-color:rgba(255,255,255,.2); }
.kka-strip .kka-section-head__more { color:var(--kka-green-light); }

.kka-strip__grid { display:grid; gap:16px; }
/* Dynamic column count based on post count class */
.kka-strip__grid--1  { grid-template-columns:1fr; }
.kka-strip__grid--2  { grid-template-columns:repeat(2,1fr); }
.kka-strip__grid--3  { grid-template-columns:repeat(3,1fr); }
.kka-strip__grid--4  { grid-template-columns:repeat(4,1fr); }
.kka-strip__grid--5  { grid-template-columns:repeat(4,1fr); }
.kka-strip__grid--6  { grid-template-columns:repeat(4,1fr); }
.kka-strip__grid--7  { grid-template-columns:repeat(4,1fr); }
.kka-strip__grid--8  { grid-template-columns:repeat(4,1fr); }
.kka-strip__grid--9  { grid-template-columns:repeat(4,1fr); }
.kka-strip__grid--10 { grid-template-columns:repeat(4,1fr); }
.kka-strip__grid--11 { grid-template-columns:repeat(4,1fr); }
.kka-strip__grid--12 { grid-template-columns:repeat(4,1fr); }

.kka-strip__card { display:block; padding:0 14px 0 0; border-right:1px solid rgba(255,255,255,.15); }
.kka-strip__card:last-child,.kka-strip__card:nth-child(4n) { border-right:none; padding-right:0; }
.kka-strip__card-img { width:100%; height:150px; object-fit:cover; margin-bottom:10px; transition:opacity .3s; }
.kka-strip__card:hover .kka-strip__card-img { opacity:.85; }
.kka-strip__card-nothumb { width:100%; height:60px; background:rgba(255,255,255,.1); margin-bottom:10px; }
.kka-strip__card-cat { font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:1px; color:var(--kka-green-light); margin-bottom:6px; display:block; }
.kka-strip__card-title { font-family:'Playfair Display',serif; font-size:14px; font-weight:700; line-height:1.35; color:#fff; display:block; }
.kka-strip__card:hover .kka-strip__card-title { color:var(--kka-green-light); }
.kka-strip__card-meta { font-size:11px; color:rgba(255,255,255,.5); margin-top:6px; }

/* ============================================================
   GRIDS
   ============================================================ */
.kka-grid-main { display:grid; grid-template-columns:2fr 1fr 1fr; gap:20px; }
.kka-grid-3    { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }

/* ============================================================
   VIDEO
   ============================================================ */
.kka-video-thumb { position:relative; overflow:hidden; background:#111; display:block; }
.kka-video-thumb img { width:100%; height:150px; object-fit:cover; opacity:.8; transition:opacity .3s; }
.kka-video-thumb:hover img { opacity:1; }
.kka-play { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:38px; height:38px; background:rgba(255,255,255,.92); border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:13px; color:var(--kka-green-dark); transition:transform .2s; }
.kka-video-thumb:hover .kka-play { transform:translate(-50%,-50%) scale(1.1); }

/* ============================================================
   OPINION
   ============================================================ */
.kka-opinion { display:flex; gap:12px; padding:12px 0; border-bottom:1px solid var(--kka-border); align-items:flex-start; }
.kka-opinion:last-child { border-bottom:none; }
.kka-opinion__avatar { width:52px; height:52px; border-radius:50%; object-fit:cover; flex-shrink:0; border:2px solid var(--kka-green-light); }
.kka-opinion__author { font-size:12px; font-weight:700; color:var(--kka-green-dark); margin-bottom:3px; }
.kka-opinion__title { font-size:13px; font-weight:600; line-height:1.4; color:var(--kka-text-dark); display:block; }
.kka-opinion:hover .kka-opinion__title { color:var(--kka-green-dark); }

/* ============================================================
   PHOTO STRIP
   ============================================================ */
.kka-photo-strip { display:grid; grid-template-columns:repeat(5,1fr); gap:8px; margin-top:12px; }
.kka-photo-thumb { position:relative; overflow:hidden; height:110px; display:block; }
.kka-photo-thumb img { width:100%; height:100%; object-fit:cover; transition:transform .3s; }
.kka-photo-thumb:hover img { transform:scale(1.08); }
.kka-photo-thumb__cap { position:absolute; bottom:0; left:0; right:0; background:linear-gradient(transparent,rgba(0,0,0,.72)); color:#fff; font-size:10px; padding:8px 6px 5px; }

/* ============================================================
   SIDEBAR WIDGETS
   ============================================================ */
.kka-sidebar-widget { margin-bottom:22px; }
.kka-weather { background:linear-gradient(135deg,var(--kka-green-dark),var(--kka-green-mid)); color:#fff; padding:16px; border-radius:4px; margin-bottom:20px; }
.kka-weather__label { font-size:11px; text-transform:uppercase; letter-spacing:1px; opacity:.7; margin-bottom:8px; }
.kka-weather__city  { font-family:'Playfair Display',serif; font-size:18px; font-weight:700; }
.kka-weather__temp  { font-size:40px; font-weight:300; line-height:1; margin:4px 0; }
.kka-weather__desc  { font-size:13px; opacity:.8; }
.kka-ad-box { background:var(--kka-bg-light); border:1px dashed var(--kka-border); min-height:200px; display:flex; align-items:center; justify-content:center; color:var(--kka-text-muted); font-size:12px; text-align:center; flex-direction:column; gap:6px; }
.widget { margin-bottom:22px; }
.widget-title { font-family:'Playfair Display',serif; font-size:16px; font-weight:700; color:var(--kka-green-dark); text-transform:uppercase; margin-bottom:12px; padding-bottom:8px; border-bottom:2px solid var(--kka-green-dark); }
.widget ul li { padding:6px 0; border-bottom:1px solid var(--kka-border); font-size:13px; }
.widget ul li a { color:var(--kka-text-dark); }
.widget ul li a:hover { color:var(--kka-green-dark); }

/* ============================================================
   BADGES
   ============================================================ */
.kka-badge { display:inline-block; font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.5px; padding:2px 7px; border-radius:2px; vertical-align:middle; }
.kka-badge-live      { background:var(--kka-red-breaking); color:#fff; }
.kka-badge-exclusive { background:var(--kka-accent-gold); color:#fff; }
.kka-badge-video     { background:#1d4ed8; color:#fff; }

/* ============================================================
   FOOTER — redesigned
   ============================================================ */
.kka-footer { background:#111; color:#ccc; padding:0; margin-top:30px; }
.kka-footer__inner { max-width:1280px; margin:auto; padding:0 16px; }
.kka-footer__top { display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:30px; padding:36px 0 28px; border-bottom:1px solid #2a2a2a; }
.kka-footer__brand {}
.kka-footer__logo-text { font-family:'Playfair Display',serif; font-size:26px; font-weight:900; color:#fff; margin-bottom:12px; display:block; line-height:1; }
.kka-footer__logo-text span { color:var(--kka-accent-gold); }
.kka-footer__about { font-size:13px; line-height:1.65; color:#999; margin-bottom:16px; font-family:'Noto Sans Devanagari',sans-serif; }
.kka-footer__social { display:flex; gap:8px; flex-wrap:wrap; }
.kka-footer__social a { width:32px; height:32px; background:#222; border-radius:4px; display:flex; align-items:center; justify-content:center; color:#ccc; transition:all .2s; }
.kka-footer__social a svg { width:14px; height:14px; fill:currentColor; }
.kka-footer__social a:hover { background:var(--kka-green-bright); color:#fff; }
.kka-footer__col h4 { font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:1px; color:#fff; margin-bottom:14px; padding-bottom:8px; border-bottom:2px solid var(--kka-green-bright); display:inline-block; }
.kka-footer__col ul { list-style:none; }
.kka-footer__col ul li { margin-bottom:8px; }
.kka-footer__col ul li a { color:#999; font-size:13px; transition:color .2s; }
.kka-footer__col ul li a::before { content:"> "; color:var(--kka-green-bright); }
.kka-footer__col ul li a:hover { color:var(--kka-green-light); }
.kka-footer__bottom { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px; padding:14px 0; font-size:12px; color:#555; }
.kka-footer__bottom a { color:#777; transition:color .2s; }
.kka-footer__bottom a:hover { color:var(--kka-green-light); }

/* ============================================================
   SINGLE POST
   ============================================================ */
.kka-single { display:grid; grid-template-columns:1fr 300px; gap:30px; padding:24px 0; }
.kka-single__sidebar { border-left:1px solid var(--kka-border); padding-left:20px; }
.kka-post-header__cat { display:inline-block; background:var(--kka-green-bright); color:#fff; font-size:10px; font-weight:700; text-transform:uppercase; padding:3px 10px; margin-bottom:12px; letter-spacing:1px; }
.kka-post-header__title { font-family:'Playfair Display',serif; font-size:30px; font-weight:900; line-height:1.25; margin-bottom:12px; }
.kka-post-header__meta { display:flex; flex-wrap:wrap; gap:12px; font-size:13px; color:var(--kka-text-muted); border-bottom:1px solid var(--kka-border); padding-bottom:12px; margin-bottom:20px; }
.kka-post-thumbnail { width:100%; max-height:460px; object-fit:cover; margin-bottom:22px; }
.kka-post-body { font-size:16px; line-height:1.8; color:var(--kka-text-mid); }
.kka-post-body h2,.kka-post-body h3 { font-family:'Playfair Display',serif; color:var(--kka-text-dark); margin:24px 0 12px; }
.kka-post-body p { margin-bottom:16px; }
.kka-post-body blockquote { border-left:4px solid var(--kka-green-bright); padding:12px 20px; background:var(--kka-green-pale); margin:20px 0; font-style:italic; }
.kka-post-body ul { padding-left:20px; list-style:disc; margin-bottom:16px; }
.kka-post-body ol { padding-left:20px; list-style:decimal; margin-bottom:16px; }
.kka-post-tags { margin-top:20px; padding-top:16px; border-top:1px solid var(--kka-border); }
.kka-post-tags a { display:inline-block; background:var(--kka-bg-light); border:1px solid var(--kka-border); padding:4px 10px; border-radius:20px; font-size:12px; margin:0 4px 4px 0; transition:all .2s; }
.kka-post-tags a:hover { background:var(--kka-green-dark); color:#fff; }
.kka-related { margin-top:30px; padding-top:22px; border-top:2px solid var(--kka-green-dark); }
.kka-related__grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }

/* ============================================================
   ARCHIVE / SEARCH
   ============================================================ */
.kka-archive-layout { display:grid; grid-template-columns:1fr 300px; gap:30px; padding:24px 0; }
.kka-archive-sidebar { border-left:1px solid var(--kka-border); padding-left:20px; }
.kka-archive-title { font-family:'Playfair Display',serif; font-size:24px; margin-bottom:4px; }
.kka-no-results { padding:40px 0; text-align:center; font-size:16px; color:var(--kka-text-muted); }

/* ============================================================
   PAGINATION
   ============================================================ */
.kka-pagination { display:flex; justify-content:center; gap:8px; padding:20px 0; flex-wrap:wrap; }
.kka-pagination a,.kka-pagination span { display:inline-block; padding:6px 12px; border:1px solid var(--kka-border); font-size:13px; color:var(--kka-text-dark); border-radius:3px; transition:all .2s; }
.kka-pagination a:hover,.kka-pagination .current { background:var(--kka-green-dark); color:#fff; border-color:var(--kka-green-dark); }

/* ============================================================
   404
   ============================================================ */
.kka-404 { text-align:center; padding:80px 20px; }
.kka-404 h1 { font-family:'Playfair Display',serif; font-size:80px; color:var(--kka-green-light); }
.kka-404 h2 { font-size:24px; margin:16px 0; }
.kka-404 p  { color:var(--kka-text-muted); margin-bottom:24px; }
.kka-btn { display:inline-block; background:var(--kka-green-dark); color:#fff; padding:10px 24px; border-radius:4px; font-weight:600; transition:background .2s; }
.kka-btn:hover { background:var(--kka-green-bright); }

/* ============================================================
   COMMENTS
   ============================================================ */
.kka-comments { margin-top:30px; padding-top:22px; border-top:1px solid var(--kka-border); }
.kka-comment-list { list-style:none; }
.kka-comment-list .comment { padding:16px 0; border-bottom:1px solid var(--kka-border); }
.kka-comments-closed { color:var(--kka-text-muted); font-size:13px; padding:12px 0; }

/* ============================================================
   SCREEN READER
   ============================================================ */
.screen-reader-text { clip:rect(1px,1px,1px,1px); height:1px; overflow:hidden; position:absolute; width:1px; }

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width:1080px) {
  .kka-content-row { grid-template-columns:1fr 1fr 300px; }
}
@media (max-width:900px) {
  .kka-hero__grid { grid-template-columns:1fr; }
  .kka-hero__side { grid-template-rows:unset; grid-template-columns:repeat(3,1fr); }
  .kka-hero__main-img { min-height:320px; max-height:360px; }
  .kka-content-row { grid-template-columns:1fr 1fr; }
  .kka-sidebar-col { grid-column:span 2; border-left:none; padding-left:0; border-top:1px solid var(--kka-border); padding-top:16px; }
  .kka-grid-main { grid-template-columns:1fr 1fr; }
  .kka-grid-3 { grid-template-columns:1fr 1fr; }
  .kka-strip__grid--3,.kka-strip__grid--4,.kka-strip__grid--5,.kka-strip__grid--6,.kka-strip__grid--7,.kka-strip__grid--8 { grid-template-columns:repeat(2,1fr); }
  .kka-footer__top { grid-template-columns:1fr 1fr; }
  .kka-single,.kka-archive-layout { grid-template-columns:1fr; }
  .kka-single__sidebar,.kka-archive-sidebar { border-left:none; padding-left:0; border-top:1px solid var(--kka-border); padding-top:20px; }
  .kka-logo__name { font-size:28px; }
  .kka-related__grid { grid-template-columns:1fr 1fr; }
}
@media (max-width:600px) {
  .kka-hero__main-img { min-height:240px; max-height:280px; }
  .kka-hero__side { grid-template-columns:1fr; }
  .kka-content-row { grid-template-columns:1fr; }
  .kka-sidebar-col { grid-column:span 1; }
  .kka-grid-main,.kka-grid-3 { grid-template-columns:1fr; }
  .kka-strip__grid--1,.kka-strip__grid--2,.kka-strip__grid--3,.kka-strip__grid--4,.kka-strip__grid--5,.kka-strip__grid--6 { grid-template-columns:1fr; }
  .kka-strip__card { border-right:none; padding-right:0; }
  .kka-footer__top { grid-template-columns:1fr; }
  .kka-photo-strip { grid-template-columns:repeat(3,1fr); }
  .kka-logo__name { font-size:22px; }
  .kka-logo__tagline-en { display:none; }
  .kka-topbar__nav { display:none; }
  .kka-navbar__toggle { display:block; }
  #primary-menu { display:none; flex-direction:column; position:absolute; top:100%; left:0; right:0; background:var(--kka-green-dark); z-index:300; }
  #primary-menu.is-open { display:flex; }
  #primary-menu .menu-item { width:100%; }
  #primary-menu .sub-menu { position:static; box-shadow:none; border-top:none; background:rgba(0,0,0,.2); }
  .kka-related__grid { grid-template-columns:1fr; }
  .kka-post-header__title { font-size:22px; }
}

/* ============================================================
   ARCHIVE PAGE — full width grid, no sidebar
   ============================================================ */

/* Register image size in functions.php — done via add_image_size */

.kka-archive-header {
  padding: 24px 0 20px;
  border-bottom: 3px solid var(--kka-green-dark);
  margin-bottom: 28px;
  display: flex;
  align-items: baseline;
  gap: 16px;
  flex-wrap: wrap;
}
.kka-archive-title {
  font-family: 'Playfair Display', serif;
  font-size: 28px;
  font-weight: 900;
  color: var(--kka-green-dark);
  text-transform: uppercase;
  letter-spacing: .5px;
}
.kka-archive-desc {
  font-size: 14px;
  color: var(--kka-text-muted);
  margin-top: 4px;
}
.kka-archive-count {
  margin-left: auto;
  font-size: 13px;
  color: var(--kka-text-muted);
  background: var(--kka-bg-light);
  border: 1px solid var(--kka-border);
  padding: 4px 12px;
  border-radius: 20px;
  white-space: nowrap;
}

/* Grid — 4 columns */
.kka-archive-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  margin-bottom: 32px;
}

/* Card */
.kka-arc-card {
  display: flex;
  flex-direction: column;
  border: 1px solid var(--kka-border);
  border-radius: 6px;
  overflow: hidden;
  transition: box-shadow .25s, transform .25s;
  background: #fff;
}
.kka-arc-card:hover {
  box-shadow: 0 6px 24px rgba(0,0,0,.10);
  transform: translateY(-3px);
}

/* Image wrap */
.kka-arc-card__img-wrap {
  position: relative;
  overflow: hidden;
  background: #eee;
}
.kka-arc-card__img {
  width: 100%;
  height: 200px;
  object-fit: cover;
  object-position: center top;
  display: block;
  transition: transform .4s ease;
}
.kka-arc-card:hover .kka-arc-card__img {
  transform: scale(1.05);
}
.kka-arc-card__no-img {
  width: 100%;
  height: 200px;
  background: linear-gradient(135deg, var(--kka-green-pale), var(--kka-green-light));
}

/* Category badge on image */
.kka-arc-card__cat {
  position: absolute;
  top: 10px;
  left: 10px;
  background: var(--kka-green-bright);
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  padding: 3px 9px;
  border-radius: 2px;
}

/* Card body */
.kka-arc-card__body {
  padding: 14px 16px 16px;
  flex: 1;
  display: flex;
  flex-direction: column;
}
.kka-arc-card__title {
  font-family: 'Playfair Display', serif;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.38;
  color: var(--kka-text-dark);
  margin-bottom: 8px;
  transition: color .2s;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.kka-arc-card:hover .kka-arc-card__title {
  color: var(--kka-green-dark);
}
.kka-arc-card__excerpt {
  font-size: 13px;
  color: var(--kka-text-mid);
  line-height: 1.55;
  flex: 1;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  margin-bottom: 10px;
}
.kka-arc-card__meta {
  font-size: 11.5px;
  color: var(--kka-text-muted);
  margin-top: auto;
  padding-top: 10px;
  border-top: 1px solid var(--kka-border);
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  align-items: center;
}

/* Responsive */
@media (max-width: 1024px) {
  .kka-archive-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 700px) {
  .kka-archive-grid { grid-template-columns: repeat(2, 1fr); gap: 14px; }
  .kka-arc-card__img, .kka-arc-card__no-img { height: 160px; }
  .kka-archive-title { font-size: 22px; }
}
@media (max-width: 420px) {
  .kka-archive-grid { grid-template-columns: 1fr; }
}
