/*
Theme Name: KhaborWala News
Author: KhaborWala News Theme Contributors
Description: A modern news portal WordPress theme built for Bengali-language news and blog sites — featuring a breaking-news ticker with two selectable styles, a category-based homepage, a trending sidebar, and a fast, clean layout. Fully translation-ready, so it can be used for a news site in any language.
Version: 1.0.2
Requires at least: 5.8
Tested up to: 6.7
Requires PHP: 7.4
Text Domain: khaborwala-news
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Tags: news, blog, grid-layout, custom-menu, custom-logo, featured-images, threaded-comments, translation-ready, editor-style, block-patterns

KhaborWala News WordPress Theme, Copyright 2026 KhaborWala News Theme Contributors
KhaborWala News is distributed under the terms of the GNU General Public License v2 (or later), as published by the Free Software Foundation. See https://www.gnu.org/licenses/gpl-2.0.html for a copy of the license.

This program is free software: you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation, either version 2 of the License, or (at your
option) any later version. This program is distributed in the hope that
it will be useful, but WITHOUT ANY WARRANTY; without even the implied
warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.

KhaborWala News bundles the following third-party resources:

Fonts: Hind Siliguri, Copyright 2015 Indian Type Foundry, and
Noto Sans Bengali, Copyright 2025 The Noto Project Authors.
Licensed under the SIL Open Font License, Version 1.1,
https://scripts.sil.org/OFL. See /fonts/LICENSE-*.txt for full text.
*/


/* ============ Reset & Base ============ */
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }

:root{
  --khaborwala-primary:#c8102e;
  --khaborwala-primary-dark:#a30d25;
  --khaborwala-dark:#1a1a1a;
  --khaborwala-text:#222222;
  --khaborwala-muted:#6b6b6b;
  --khaborwala-border:#e6e6e6;
  --khaborwala-bg:#f6f6f7;
  --khaborwala-white:#ffffff;
  --khaborwala-nav-bg:#16233a;
  --khaborwala-nav-bg-dark:#0e1826;
  --khaborwala-amber:#e08a1e;
  --khaborwala-font: 'Hind Siliguri', 'Noto Sans Bengali', 'SolaimanLipi', Arial, sans-serif;
}

body{
  margin:0;
  font-family: var(--khaborwala-font);
  color: var(--khaborwala-text);
  background: var(--khaborwala-bg);
  font-size:16px;
  line-height:1.6;
}
a{ color:inherit; text-decoration:none; }
a:hover{ color: var(--khaborwala-primary); }
img{ max-width:100%; height:auto; display:block; }
ul{ margin:0; padding:0; list-style:none; }
h1,h2,h3,h4{ font-family: var(--khaborwala-font); margin:0 0 .5em; line-height:1.3; }
.container{ max-width:1200px; margin:0 auto; padding:0 16px; }
.screen-reader-text{ position:absolute !important; clip:rect(1px,1px,1px,1px); }

/* ============ Top Bar ============ */
.khaborwala-topbar{
  background: var(--khaborwala-dark);
  color:#ddd;
  font-size:13px;
}
.khaborwala-topbar .container{ display:flex; justify-content:space-between; align-items:center; height:36px; }
.khaborwala-topbar .khaborwala-date{ color:#bbb; }
.khaborwala-topbar .khaborwala-social a{ margin-left:12px; color:#ddd; }
.khaborwala-topbar .khaborwala-social a:hover{ color: var(--khaborwala-primary); }

/* ============ Header ============ */
.khaborwala-header{ background:var(--khaborwala-white); border-bottom:3px solid var(--khaborwala-primary); }
.khaborwala-header-inner{ display:flex; align-items:center; justify-content:space-between; padding:18px 0; }
.khaborwala-logo{ font-size:34px; font-weight:800; color:var(--khaborwala-primary); letter-spacing:-1px; }
.khaborwala-logo img{ max-height:64px; }
.khaborwala-logo span{ color:var(--khaborwala-dark); }
.khaborwala-header-ad{ font-size:12px; color:#999; }

/* ============ Nav ============ */
.khaborwala-nav{ background: var(--khaborwala-nav-bg); position:relative; z-index:50; }
.khaborwala-nav-row{ display:flex; align-items:center; }
.khaborwala-nav-home{
  display:flex; align-items:center; justify-content:center; color:#fff; padding:13px 16px; flex-shrink:0;
  border-right:1px solid rgba(255,255,255,.12);
}
.khaborwala-nav-home:hover{ color:var(--khaborwala-amber); background:var(--khaborwala-nav-bg-dark); }
.khaborwala-nav ul.menu{ display:flex; flex-wrap:wrap; }
.khaborwala-nav ul.menu > li{ position:relative; }
.khaborwala-nav ul.menu > li > a{
  display:flex; align-items:center; padding:13px 16px; color:#e8ecf3; font-weight:500; font-size:15px; white-space:nowrap;
}
.khaborwala-nav ul.menu > li:hover > a, .khaborwala-nav ul.menu > li.current-menu-item > a{ background: var(--khaborwala-nav-bg-dark); color:#fff; }
.khaborwala-nav ul.menu li.menu-item-has-children > a::after{
  content:"\25BE"; display:inline-block; margin-left:5px; font-size:10px; opacity:.75;
}
.khaborwala-nav ul.menu ul.sub-menu{
  display:none; position:absolute; top:100%; left:0; background:var(--khaborwala-nav-bg-dark); min-width:200px; box-shadow:0 6px 12px rgba(0,0,0,.3);
}
.khaborwala-nav ul.menu li:hover > ul.sub-menu{ display:block; }
.khaborwala-nav ul.menu ul.sub-menu a{ padding:10px 16px; color:#dfe4ec; font-weight:400; font-size:14px; }
.khaborwala-nav ul.menu ul.sub-menu a:hover{ background:rgba(255,255,255,.08); color:#fff; }
.khaborwala-menu-toggle{ display:none; background:none; border:0; color:#fff; font-size:22px; padding:12px 16px; cursor:pointer; }
.khaborwala-nav-more-toggle{
  margin-left:auto; background:none; border:0; border-left:1px solid rgba(255,255,255,.12); color:#fff;
  font-size:19px; padding:13px 18px; cursor:pointer; flex-shrink:0;
}
.khaborwala-nav-more-toggle:hover{ color:var(--khaborwala-amber); background:var(--khaborwala-nav-bg-dark); }
.khaborwala-nav-more-panel{ display:none; background:var(--khaborwala-nav-bg-dark); border-top:1px solid rgba(255,255,255,.1); }
.khaborwala-nav-more-panel.show{ display:block; }
.khaborwala-nav-more-panel ul{ display:flex; flex-wrap:wrap; gap:4px 6px; padding:12px 0; }
.khaborwala-nav-more-panel a{ display:block; padding:6px 12px; color:#dfe4ec; font-size:13.5px; border-radius:3px; }
.khaborwala-nav-more-panel a:hover{ background:rgba(255,255,255,.08); color:var(--khaborwala-amber); }

/* ============ Breaking News ============ */
.khaborwala-breaking{ background:var(--khaborwala-white); border-bottom:1px solid var(--khaborwala-border); }
.khaborwala-breaking .container{ display:flex; align-items:center; height:44px; }
.khaborwala-breaking-label{
  background:var(--khaborwala-amber); color:#fff; font-weight:700; font-size:13.5px;
  padding:7px 16px; margin-right:14px; white-space:nowrap; flex-shrink:0; height:100%; display:flex; align-items:center;
  clip-path: polygon(0 0, 100% 0, 92% 100%, 0% 100%);
  padding-right:22px;
}
.khaborwala-breaking-track{ overflow:hidden; flex:1; position:relative; height:20px; }

/* --- Style 1: fade rotation (one at a time) --- */
.khaborwala-breaking-list{ list-style:none; }
.khaborwala-breaking-list li{ display:none; font-size:14.5px; }
.khaborwala-breaking-list li.active{ display:block; animation: khaborwalaFade .5s ease; }
@keyframes khaborwalaFade{ from{opacity:0; transform:translateY(6px);} to{opacity:1; transform:translateY(0);} }

/* --- Style 2: marquee (continuous horizontal scroll) --- */
.khaborwala-breaking--marquee .khaborwala-breaking-track{ height:24px; }
.khaborwala-breaking-marquee{
  display:inline-flex; align-items:center; white-space:nowrap;
  animation: khaborwalaMarquee 32s linear infinite;
  will-change: transform;
}
.khaborwala-breaking-marquee:hover{ animation-play-state: paused; }
.khaborwala-marquee-item{ display:inline-flex; align-items:center; margin-right:32px; font-size:14.5px; white-space:nowrap; }
.khaborwala-marquee-item .khaborwala-dot{ color:var(--khaborwala-primary); margin-right:9px; font-size:10px; flex-shrink:0; }
@keyframes khaborwalaMarquee{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }

/* ============ Layout ============ */
.khaborwala-content-wrap{ display:grid; grid-template-columns: 1fr 320px; gap:24px; padding:24px 0; }
.khaborwala-main{ min-width:0; }
.khaborwala-sidebar{ min-width:0; }

/* ============ Section headings ============ */
.khaborwala-section{ background:var(--khaborwala-white); border:1px solid var(--khaborwala-border); margin-bottom:24px; padding:18px; border-radius:4px; }
.khaborwala-section-title{
  display:flex; align-items:center; justify-content:space-between;
  border-bottom:2px solid var(--khaborwala-primary); padding-bottom:10px; margin-bottom:16px;
}
.khaborwala-section-title h2{ font-size:20px; font-weight:700; color:var(--khaborwala-dark); border-left:4px solid var(--khaborwala-primary); padding-left:10px; margin:0; }
.khaborwala-section-title a{ font-size:13px; color:var(--khaborwala-primary); font-weight:600; }

/* ============ Hero (Featured) ============ */
.khaborwala-hero{ display:grid; grid-template-columns: 1.6fr 1fr; gap:16px; margin-bottom:24px; }
.khaborwala-hero-main{ position:relative; border-radius:4px; overflow:hidden; background:#000; }
.khaborwala-hero-main img{ width:100%; height:420px; object-fit:cover; opacity:.9; }
.khaborwala-hero-main .khaborwala-hero-caption{
  position:absolute; left:0; right:0; bottom:0; padding:20px; background:linear-gradient(transparent, rgba(0,0,0,.85));
}
.khaborwala-hero-main .khaborwala-hero-caption .khaborwala-cat{ color:var(--khaborwala-primary); font-weight:700; font-size:13px; }
.khaborwala-hero-main .khaborwala-hero-caption h1{ color:#fff; font-size:26px; margin:8px 0 0; }
.khaborwala-hero-side{ display:flex; flex-direction:column; gap:14px; }
.khaborwala-hero-side-item{ display:flex; gap:12px; }
.khaborwala-hero-side-item img{ width:110px; height:78px; object-fit:cover; border-radius:3px; flex-shrink:0; }
.khaborwala-hero-side-item .khaborwala-cat{ font-size:11px; color:var(--khaborwala-primary); font-weight:700; }
.khaborwala-hero-side-item h3{ font-size:14.5px; margin:4px 0 0; }

/* ============ Post grid/list ============ */
.khaborwala-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.khaborwala-card img{ border-radius:3px; height:150px; object-fit:cover; margin-bottom:8px; }
.khaborwala-card .khaborwala-cat{ font-size:11px; color:var(--khaborwala-primary); font-weight:700; }
.khaborwala-card h3{ font-size:15.5px; margin:6px 0 0; }
.khaborwala-card .khaborwala-excerpt{ font-size:13px; color:var(--khaborwala-muted); margin-top:6px; }
.khaborwala-meta{ font-size:12px; color:var(--khaborwala-muted); margin-top:6px; }

.khaborwala-list-item{ display:flex; gap:12px; padding:12px 0; border-bottom:1px solid var(--khaborwala-border); }
.khaborwala-list-item:last-child{ border-bottom:0; }
.khaborwala-list-item img{ width:90px; height:65px; object-fit:cover; border-radius:3px; flex-shrink:0; }
.khaborwala-list-item h3{ font-size:14.5px; margin:0; }
.khaborwala-list-item .khaborwala-num{ font-size:22px; font-weight:800; color:var(--khaborwala-border); width:26px; flex-shrink:0; }

/* ============ Sidebar widgets ============ */
.khaborwala-widget{ background:var(--khaborwala-white); border:1px solid var(--khaborwala-border); border-radius:4px; padding:16px; margin-bottom:20px; }
.khaborwala-widget h2.widget-title{ font-size:17px; border-left:4px solid var(--khaborwala-primary); padding-left:10px; margin-bottom:14px; }
.khaborwala-widget-tabs{ display:flex; gap:6px; margin-bottom:12px; }
.khaborwala-widget-tabs button{ flex:1; padding:6px; border:1px solid var(--khaborwala-border); background:var(--khaborwala-bg); cursor:pointer; font-family:inherit; font-weight:600; font-size:13px; border-radius:3px; }
.khaborwala-widget-tabs button.active{ background:var(--khaborwala-primary); color:#fff; border-color:var(--khaborwala-primary); }

/* ============ Single post ============ */
.khaborwala-single-header{ margin-bottom:16px; }
.khaborwala-single-header .khaborwala-cat{ color:var(--khaborwala-primary); font-weight:700; font-size:13px; }
.khaborwala-single-header h1{ font-size:28px; margin:8px 0; }
.khaborwala-single-thumb img{ width:100%; border-radius:4px; margin-bottom:16px; }
.khaborwala-single-content{ font-size:17px; line-height:1.9; }
.khaborwala-single-content p{ margin:0 0 1em; }
.khaborwala-tags{ margin-top:24px; display:flex; flex-wrap:wrap; gap:8px; }
.khaborwala-tags a{ background:var(--khaborwala-bg); border:1px solid var(--khaborwala-border); padding:4px 10px; border-radius:20px; font-size:12.5px; }
.khaborwala-share{ display:flex; gap:8px; margin:20px 0; }
.khaborwala-share a{ background:var(--khaborwala-dark); color:#fff; padding:8px 14px; border-radius:3px; font-size:13px; }

/* ============ Pagination ============ */
.khaborwala-pagination{ display:flex; gap:6px; justify-content:center; margin-top:20px; }
.khaborwala-pagination a, .khaborwala-pagination span{ padding:8px 13px; border:1px solid var(--khaborwala-border); border-radius:3px; background:#fff; }
.khaborwala-pagination .current{ background:var(--khaborwala-primary); color:#fff; border-color:var(--khaborwala-primary); }

/* ============ Footer ============ */
.khaborwala-footer{ background:var(--khaborwala-dark); color:#ccc; margin-top:20px; }
.khaborwala-footer-inner{ display:grid; grid-template-columns:repeat(4,1fr); gap:24px; padding:36px 0; }
.khaborwala-footer h3{ color:#fff; font-size:16px; margin-bottom:12px; }
.khaborwala-footer a{ color:#bbb; }
.khaborwala-footer ul li{ margin-bottom:8px; }
.khaborwala-footer-bottom{ border-top:1px solid #333; padding:14px 0; text-align:center; font-size:13px; color:#999; }

/* ============ Responsive ============ */
@media (max-width: 960px){
  .khaborwala-content-wrap{ grid-template-columns:1fr; }
  .khaborwala-hero{ grid-template-columns:1fr; }
  .khaborwala-grid{ grid-template-columns:repeat(2,1fr); }
  .khaborwala-footer-inner{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width: 640px){
  .khaborwala-header-inner{ padding:12px 0; }
  .khaborwala-logo{ font-size:24px; }
  .khaborwala-nav ul.menu{ display:none; flex-direction:column; width:100%; }
  .khaborwala-nav ul.menu.show{ display:flex; }
  .khaborwala-nav .container{ flex-wrap:wrap; }
  .khaborwala-menu-toggle{ display:block; margin-left:auto; }
  .khaborwala-nav-more-toggle{ display:none; }
  .khaborwala-nav ul.menu ul.sub-menu{ position:static; box-shadow:none; }
  .khaborwala-grid{ grid-template-columns:1fr; }
  .khaborwala-hero-main img{ height:240px; }
  .khaborwala-footer-inner{ grid-template-columns:1fr; }
}

/* ============ Core WordPress classes ============ */
.wp-caption{ max-width:100%; margin-bottom:1.5em; }
.wp-caption img[class*="wp-image-"]{ display:block; margin:0 auto; }
.wp-caption .wp-caption-text{
  font-size:13px; color:var(--khaborwala-muted); text-align:center; padding:.6em 0;
}
.gallery-caption{ font-size:13px; color:var(--khaborwala-muted); text-align:center; }
.sticky{ position:relative; }
.bypostauthor{ position:relative; }
.alignleft{ float:left; margin:.4em 1.5em 1em 0; }
.alignright{ float:right; margin:.4em 0 1em 1.5em; }
.aligncenter{ display:block; margin-left:auto; margin-right:auto; }
.alignwide{ max-width:1100px; margin-left:auto; margin-right:auto; }
.alignfull{ max-width:none; width:100%; }
.screen-reader-text{ position:absolute !important; clip:rect(1px,1px,1px,1px); overflow:hidden; }

/* ============ Block-editor extras ============ */
.khaborwala-byline{ font-size:13px; color:var(--khaborwala-muted); font-style:italic; }
.is-style-khaborwala-lede{ font-size:19px; font-weight:600; }
.is-style-khaborwala-card{
  background:var(--khaborwala-white); border:1px solid var(--khaborwala-border);
  border-radius:4px; padding:16px;
}
.page-links{ clear:both; margin:20px 0; font-size:14px; }
.page-links a{ display:inline-block; padding:4px 10px; border:1px solid var(--khaborwala-border); border-radius:3px; margin:0 4px; }
