/*
Theme Name: Samachar Vishleshan
Theme URI: https://example.com/
Author: admin
Author URI: https://example.com/
Description: A fast, accessible, SEO-first WordPress theme built for Hindi news analysis and long-form explainers. Includes JSON-LD schema, automatic related-post recommendations, reading progress, auto table of contents, dark mode and CLS-safe AdSense slots.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: samachar
Tags: news, blog, two-columns, right-sidebar, custom-logo, custom-menu, featured-images, translation-ready, accessibility-ready, block-styles, wide-blocks
*/

/* ---------- 1. Design tokens ---------- */
:root{
  --bg:#FAF7F2; --surface:#FFFFFF; --surface-2:#F3EFE8;
  --ink:#191A20; --ink-2:#3A3B45; --muted:#5B5D68;
  --accent:#9A2A1F; --accent-ink:#FFFFFF; --accent-soft:#FBEDE9;
  --line:#E6DFD5; --focus:#1D4ED8;
  --radius:10px; --radius-lg:16px;
  --shadow:0 1px 2px rgba(25,26,32,.06),0 8px 24px rgba(25,26,32,.06);
  --wrap:1200px; --read:70ch;
  --font-body:"Noto Sans Devanagari","Noto Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --font-head:"Tiro Devanagari Hindi","Noto Serif Devanagari",Georgia,serif;
  --fs-body:1.0625rem; --lh-body:1.9;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --bg:#101018; --surface:#191922; --surface-2:#22222D;
    --ink:#ECEAE6; --ink-2:#D2D0CC; --muted:#A5A4B0;
    --accent:#F0876E; --accent-ink:#1A0F0C; --accent-soft:#2A1B17;
    --line:#2C2C38; --focus:#8AB4F8;
    --shadow:0 1px 2px rgba(0,0,0,.4),0 8px 24px rgba(0,0,0,.35);
  }
}
:root[data-theme="dark"]{
  --bg:#101018; --surface:#191922; --surface-2:#22222D;
  --ink:#ECEAE6; --ink-2:#D2D0CC; --muted:#A5A4B0;
  --accent:#F0876E; --accent-ink:#1A0F0C; --accent-soft:#2A1B17;
  --line:#2C2C38; --focus:#8AB4F8;
  --shadow:0 1px 2px rgba(0,0,0,.4),0 8px 24px rgba(0,0,0,.35);
}

/* ---------- 2. Reset & base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:5rem}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation-duration:.01ms!important;transition-duration:.01ms!important}}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:var(--fs-body);line-height:var(--lh-body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-wrap:break-word}
img,video,iframe,svg{max-width:100%;height:auto}
img{display:block}
a{color:var(--accent);text-underline-offset:.22em;text-decoration-thickness:1px}
a:hover{text-decoration-thickness:2px}
:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:3px}
h1,h2,h3,h4,h5,h6{font-family:var(--font-head);line-height:1.35;color:var(--ink);margin:2.2rem 0 .8rem;font-weight:600}
h1{font-size:clamp(1.75rem,1.2rem + 2.2vw,2.6rem);line-height:1.25;letter-spacing:-.01em}
h2{font-size:clamp(1.35rem,1.1rem + 1.1vw,1.85rem)}
h3{font-size:clamp(1.15rem,1rem + .6vw,1.4rem)}
p,ul,ol,blockquote,figure,table{margin:0 0 1.35rem}
ul,ol{padding-inline-start:1.4rem}
li{margin-bottom:.5rem}
blockquote{border-inline-start:4px solid var(--accent);background:var(--accent-soft);margin-inline:0;padding:1rem 1.25rem;border-radius:0 var(--radius) var(--radius) 0}
blockquote p:last-child{margin-bottom:0}
code,pre{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.92em}
pre{background:var(--surface-2);padding:1rem;border-radius:var(--radius);overflow:auto}
hr{border:0;border-top:1px solid var(--line);margin:2.5rem 0}
table{width:100%;border-collapse:collapse}
th,td{border:1px solid var(--line);padding:.6rem .75rem;text-align:start}
th{background:var(--surface-2)}
::selection{background:var(--accent);color:var(--accent-ink)}

/* ---------- 3. Layout ---------- */
.wrap{width:min(100% - 2rem,var(--wrap));margin-inline:auto}
.site-main{padding:2rem 0 3rem}
.layout{display:grid;gap:2.5rem;grid-template-columns:minmax(0,1fr)}
@media (min-width:1000px){.layout.has-sidebar{grid-template-columns:minmax(0,1fr) 320px}}
.skip-link{position:absolute;left:-9999px;top:0;z-index:999;background:var(--accent);color:var(--accent-ink);padding:.75rem 1.25rem;border-radius:0 0 var(--radius) 0}
.skip-link:focus{left:0}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}

/* ---------- 4. Header ---------- */
.site-header{background:var(--surface);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50}
.header-inner{display:flex;align-items:center;gap:1rem;min-height:66px}
.site-branding{display:flex;align-items:center;gap:.6rem;margin-inline-end:auto}
.site-title{font-family:var(--font-head);font-size:1.3rem;font-weight:700;margin:0;line-height:1.2}
.site-title a{color:var(--ink);text-decoration:none}
.site-title a:hover{color:var(--accent)}
.site-description{margin:0;font-size:.8rem;color:var(--muted)}
.nav-toggle,.theme-toggle,.search-toggle{background:transparent;border:1px solid var(--line);color:var(--ink);border-radius:var(--radius);padding:.5rem .7rem;cursor:pointer;font:inherit;font-size:.9rem;line-height:1;display:inline-flex;align-items:center;gap:.4rem}
.nav-toggle:hover,.theme-toggle:hover,.search-toggle:hover{background:var(--surface-2)}
.nav-toggle{display:none}
.main-nav ul{list-style:none;display:flex;gap:.25rem;margin:0;padding:0;flex-wrap:wrap}
.main-nav a{display:block;padding:.5rem .7rem;border-radius:var(--radius);color:var(--ink-2);text-decoration:none;font-size:.95rem}
.main-nav a:hover,.main-nav .current-menu-item>a{background:var(--accent-soft);color:var(--accent)}
.main-nav .sub-menu{display:none;position:absolute;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:.35rem;min-width:200px;flex-direction:column;z-index:60}
.main-nav li{position:relative}
.main-nav li:hover>.sub-menu,.main-nav li:focus-within>.sub-menu{display:flex}
@media (max-width:860px){
  .nav-toggle{display:inline-flex}
  .main-nav{display:none;width:100%;order:10;padding-bottom:1rem}
  .main-nav.is-open{display:block}
  .main-nav ul{flex-direction:column}
  .main-nav .sub-menu{display:flex;position:static;border:0;box-shadow:none;padding-inline-start:1rem}
  .header-inner{flex-wrap:wrap;padding:.6rem 0}
}
.header-search{border-top:1px solid var(--line);padding:1rem 0;display:none;background:var(--surface)}
.header-search.is-open{display:block}

/* ---------- 5. Cards & archives ---------- */
.card-grid{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));padding:0;list-style:none;margin:0}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;display:flex;flex-direction:column;transition:transform .18s ease,box-shadow .18s ease}
.card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.card-thumb{aspect-ratio:16/9;background:var(--surface-2);overflow:hidden}
.card-thumb img{width:100%;height:100%;object-fit:cover}
.card-body{padding:1rem 1.1rem 1.2rem;display:flex;flex-direction:column;gap:.5rem;flex:1}
.card-title{font-size:1.1rem;margin:0;line-height:1.4}
.card-title a{color:var(--ink);text-decoration:none}
.card-title a:hover{color:var(--accent);text-decoration:underline}
.card-excerpt{margin:0;font-size:.95rem;color:var(--ink-2);line-height:1.75}
.meta{font-size:.82rem;color:var(--muted);display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;line-height:1.6}
.meta a{color:var(--muted)}
.cat-badge{display:inline-block;background:var(--accent-soft);color:var(--accent);font-size:.75rem;padding:.2rem .6rem;border-radius:999px;text-decoration:none;font-weight:600}
.cat-badge:hover{background:var(--accent);color:var(--accent-ink)}
.page-header{margin-bottom:2rem;padding-bottom:1.25rem;border-bottom:2px solid var(--line)}
.page-header h1{margin:0 0 .4rem}
.archive-description{color:var(--muted);margin:0;max-width:var(--read)}

/* ---------- 6. Single post ---------- */
.entry{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:clamp(1.25rem,1rem + 2vw,3rem)}
.entry-header{max-width:var(--read);margin-bottom:1.5rem}
.entry-title{margin:.6rem 0 .8rem}
.entry-meta{border-block:1px solid var(--line);padding:.7rem 0;margin-top:1rem}
.entry-content{max-width:var(--read);font-size:1.125rem}
.entry-content>*{max-width:100%}
.entry-content h2{scroll-margin-top:5rem;padding-top:.4rem}
.entry-content h2::after{content:"";display:block;width:52px;height:3px;background:var(--accent);margin-top:.55rem;border-radius:2px}
.entry-content a{color:var(--accent);text-decoration:underline}
.entry-content figure img,.entry-thumb img{border-radius:var(--radius);width:100%}
.entry-thumb{margin-bottom:1.5rem}
.alignwide{max-width:min(100%,var(--wrap))}
.alignfull{max-width:100%}
.aligncenter{margin-inline:auto}
.entry-footer{margin-top:2rem;padding-top:1.25rem;border-top:1px solid var(--line);max-width:var(--read)}
.tag-list a{display:inline-block;font-size:.85rem;background:var(--surface-2);color:var(--ink-2);padding:.25rem .7rem;border-radius:999px;text-decoration:none;margin:0 .35rem .5rem 0}
.tag-list a:hover{background:var(--accent);color:var(--accent-ink)}
.progress-bar{position:fixed;top:0;inset-inline-start:0;height:3px;width:0;background:var(--accent);z-index:100;transition:width .1s linear}
.breadcrumbs{font-size:.85rem;color:var(--muted);margin-bottom:.5rem}
.breadcrumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:.4rem;margin:0;padding:0}
.breadcrumbs li::after{content:"›";margin-inline-start:.4rem;color:var(--line)}
.breadcrumbs li:last-child::after{content:""}
.breadcrumbs a{color:var(--muted)}

/* ---------- 7. Table of contents ---------- */
.toc{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius);padding:1rem 1.25rem;margin:0 0 2rem;max-width:var(--read)}
.toc summary{font-family:var(--font-head);font-weight:600;cursor:pointer;font-size:1.05rem}
.toc ol{margin:.9rem 0 0;padding-inline-start:1.3rem}
.toc li{margin-bottom:.45rem;line-height:1.6}
.toc a{color:var(--ink-2);text-decoration:none}
.toc a:hover{color:var(--accent);text-decoration:underline}

/* ---------- 8. Related / recommendations ---------- */
.related{margin-top:3rem}
.section-title{font-size:1.4rem;margin:0 0 1.25rem;padding-bottom:.6rem;border-bottom:2px solid var(--accent);display:inline-block}
.reco-list{list-style:none;margin:0;padding:0;display:grid;gap:1rem}
.reco-item{display:grid;grid-template-columns:84px 1fr;gap:.9rem;align-items:start}
.reco-item img{width:84px;height:62px;object-fit:cover;border-radius:var(--radius)}
.reco-item .ph{width:84px;height:62px;border-radius:var(--radius);background:var(--surface-2)}
.reco-title{font-size:.96rem;line-height:1.55;margin:0 0 .25rem;font-family:var(--font-body);font-weight:600}
.reco-title a{color:var(--ink);text-decoration:none}
.reco-title a:hover{color:var(--accent);text-decoration:underline}
.post-nav{display:grid;gap:1rem;margin-top:2.5rem;grid-template-columns:1fr}
@media (min-width:700px){.post-nav{grid-template-columns:1fr 1fr}}
.post-nav a{display:block;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1rem;text-decoration:none;color:var(--ink)}
.post-nav a:hover{border-color:var(--accent)}
.post-nav span{display:block;font-size:.78rem;color:var(--muted);margin-bottom:.3rem}

/* ---------- 9. Sidebar & widgets ---------- */
.sidebar{display:flex;flex-direction:column;gap:1.5rem}
.widget{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:1.25rem}
.widget-title{font-size:1.05rem;margin:0 0 .9rem;padding-bottom:.55rem;border-bottom:2px solid var(--accent-soft)}
.widget ul{list-style:none;margin:0;padding:0}
.widget li{margin-bottom:.6rem;line-height:1.6}
.widget a{color:var(--ink-2);text-decoration:none}
.widget a:hover{color:var(--accent);text-decoration:underline}
.sticky-side{position:sticky;top:90px}

/* ---------- 10. Ads (CLS-safe) ---------- */
.ad-slot{margin:2rem auto;text-align:center;max-width:100%;overflow:hidden}
.ad-slot--in-content{max-width:var(--read);margin-inline:0}
.ad-label{display:block;font-size:.68rem;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);margin-bottom:.35rem}
.ad-slot--leaderboard{min-height:100px}
.ad-slot--rect{min-height:280px}
.ad-slot--side{min-height:250px}
@media (min-width:768px){.ad-slot--leaderboard{min-height:120px}}

/* ---------- 11. Forms, comments, pagination ---------- */
input[type=text],input[type=search],input[type=email],input[type=url],textarea{width:100%;font:inherit;font-size:1rem;padding:.65rem .8rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg);color:var(--ink)}
.search-form{display:flex;gap:.5rem}
.btn,input[type=submit],button[type=submit]{background:var(--accent);color:var(--accent-ink);border:0;border-radius:var(--radius);padding:.65rem 1.1rem;font:inherit;font-weight:600;cursor:pointer}
.btn:hover,input[type=submit]:hover{filter:brightness(1.08)}
.pagination{margin-top:2.5rem;display:flex;gap:.4rem;flex-wrap:wrap;justify-content:center}
.pagination .page-numbers{display:inline-block;padding:.5rem .85rem;border:1px solid var(--line);border-radius:var(--radius);text-decoration:none;color:var(--ink-2);background:var(--surface)}
.pagination .current{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}
.comments-area{margin-top:3rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:clamp(1.25rem,1rem + 1.5vw,2rem)}
.comment-list{list-style:none;padding:0;margin:0}
.comment-list li{border-bottom:1px solid var(--line);padding:1rem 0}
.comment-meta{font-size:.85rem;color:var(--muted);margin-bottom:.4rem}

/* ---------- 12. Footer ---------- */
.site-footer{background:var(--surface);border-top:1px solid var(--line);margin-top:3rem;padding:2.5rem 0 1.5rem}
.footer-cols{display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
.site-info{margin-top:2rem;padding-top:1.25rem;border-top:1px solid var(--line);font-size:.88rem;color:var(--muted);display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between}
.site-info a{color:var(--muted)}
.to-top{position:fixed;inset-inline-end:1rem;bottom:1rem;background:var(--accent);color:var(--accent-ink);border:0;border-radius:50%;width:44px;height:44px;cursor:pointer;display:none;align-items:center;justify-content:center;font-size:1.1rem;box-shadow:var(--shadow)}
.to-top.is-visible{display:flex}

/* ---------- 13. Print ---------- */
@media print{
  .site-header,.site-footer,.sidebar,.ad-slot,.related,.post-nav,.to-top,.progress-bar,.comments-area{display:none!important}
  body{background:#fff;color:#000;font-size:12pt}
  .entry{border:0;padding:0}
  a[href^="http"]::after{content:" (" attr(href) ")";font-size:9pt;color:#555}
}
