/* =========================================================
   Divya Bihar - Main Stylesheet
   Design: saaf, bhawnaatmak roop se bharosemand (govt-style)
   lekin clearly ek independent portal jaisa - koi sarkari
   emblem/branding copy nahi ki gayi hai.
   ========================================================= */

/* =========================================================
   hidden ka matlab sachmuch hidden
   -----------------------------------------------------------------
   Browser ka apna niyam hai [hidden] { display: none }, par uski
   takat sabse kam hoti hai. Agar kisi class me "display: flex"
   likha ho to wo jeet jata hai aur element chhupta hi nahi -
   dikhta nahi (opacity 0), par poore page par shishe ki tarah
   pada rehta hai aur neeche ke saare click kha jata hai.
   Hamare popup ke saath bilkul yahi hua tha. Ye ek pankti usi
   tarah ki galti ko aage ke liye band kar deti hai.
   ========================================================= */
[hidden] { display: none !important; }

:root {
    /* --- Colors --- */
    --color-primary: #0b5d3b;       /* gehra hara - bharosa/vikas */
    --color-primary-dark: #073d27;
    --color-primary-light: #e6f4ec;
    --color-accent: #d97706;        /* saffron/orange - CTA ke liye */
    --color-accent-dark: #b45309;
    --color-ink: #1a2233;           /* main text */
    --color-ink-soft: #4b5567;
    --color-border: #e2e5ea;
    --color-bg: #f7f8fa;
    --color-white: #ffffff;
    --color-danger: #b42318;
    --color-success: #05603a;

    /* --- Type --- */
    --font-hindi: 'Noto Sans Devanagari', 'Inter', system-ui, sans-serif;
    --font-base: 'Inter', 'Noto Sans Devanagari', system-ui, sans-serif;

    /* --- Layout --- */
    --container-width: 1720px;
    --radius: 10px;
    --shadow-sm: 0 1px 3px rgba(16, 24, 40, 0.08);
    --shadow-md: 0 4px 16px rgba(16, 24, 40, 0.10);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }

body {
    margin: 0;
    font-family: var(--font-base);
    color: var(--color-ink);
    background: var(--color-bg);
    line-height: 1.65;
    font-size: 16px;
    -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5 { font-family: var(--font-hindi); font-weight: 700; line-height: 1.35; margin: 0 0 0.6em; color: var(--color-ink); }
p { margin: 0 0 1em; }
a { color: var(--color-primary); text-decoration: none; }
a:hover { text-decoration: underline; }
img { max-width: 100%; display: block; }
ul { padding-left: 1.2em; }

.container { max-width: var(--container-width); margin: 0 auto; padding: 0 24px; }

/* Padhne wala lamba text bahut chauda na ho jaye - sirf wahin sankra rakha hai */
.container--reading { max-width: 1180px; }

/* Accessibility: skip link + focus visibility */
.skip-link {
    position: absolute; left: -999px; top: 0; background: var(--color-primary);
    color: #fff; padding: 10px 16px; z-index: 1000; border-radius: 0 0 6px 0;
}
.skip-link:focus { left: 0; }

/* Sirf Google aur screen reader ke liye - aankhon se nahi dikhta.
   Har page par ek H1 hona SEO ke liye zaroori hai. */
.sr-only {
    position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
    overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
    outline: 3px solid var(--color-accent); outline-offset: 2px;
}

/* =========== Top strip =========== */
.top-strip { background: var(--color-primary-dark); color: #fff; font-size: 12.5px; }
.top-strip__inner { display: flex; justify-content: space-between; align-items: center; padding: 4px 20px; gap: 10px; }
.top-strip__msg { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.top-strip__right { display: flex; align-items: center; gap: 10px; flex-shrink: 0; }
.top-strip__badge { background: rgba(255,255,255,0.15); padding: 2px 10px; border-radius: 20px; font-weight: 600; white-space: nowrap; }

/* ---- Bhasha badalne ka switch ---- */
.lang-switch { display: inline-flex; border: 1px solid rgba(255,255,255,.35); border-radius: 20px; overflow: hidden; flex-shrink: 0; }
.lang-switch a { color: rgba(255,255,255,.85); padding: 2px 11px; font-size: 12px; font-weight: 600; line-height: 1.6; }
.lang-switch a:hover { background: rgba(255,255,255,.12); text-decoration: none; }
.lang-switch a.is-active { background: #fff; color: var(--color-primary-dark); }

/* =========== Header =========== */
.site-header { background: #fff; border-bottom: 3px solid var(--color-primary); position: sticky; top: 0; z-index: 100; }
.site-header .site-header__inner { display: flex; align-items: center; gap: 24px; padding: 14px 24px; }

/* Logo header me: upar chitra, neeche chhoti si tagline */
.brand {
    display: flex; flex-direction: column; align-items: flex-start;
    gap: 3px; flex-shrink: 0; line-height: 1.2;
}
.brand__logo { display: block; height: 46px; width: auto; }
.brand__tagline { font-size: 13px; color: var(--color-ink-soft); }
.brand:hover { text-decoration: none; }

/* Footer me sirf gol nishaan + naam. Nishaan gehre neele rang ka hai,
   isliye use safed gol chakke par rakha hai - hare background par saaf dikhe. */
.brand--footer {
    flex-direction: row; align-items: center; gap: 12px; margin-bottom: 10px;
}
.brand__icon {
    width: 46px; height: 46px; flex-shrink: 0;
    background: #fff; border-radius: 50%; padding: 3px;
}
.brand--footer .brand__name {
    font-family: var(--font-hindi); font-weight: 800; font-size: 23px; color: #fff;
}

.header-search { flex: 1; display: flex; max-width: 760px; margin: 0 auto; }   /* bade screen par beech me */
.header-search input {
    flex: 1; padding: 13px 18px; border: 1.5px solid var(--color-border); border-right: none;
    border-radius: 10px 0 0 10px; font-family: var(--font-hindi); font-size: 15.5px;
}
.header-search button {
    background: var(--color-primary); color: #fff; border: none; padding: 0 30px;
    border-radius: 0 10px 10px 0; cursor: pointer; font-size: 15.5px; font-weight: 700;
    font-family: var(--font-hindi); white-space: nowrap;
}
.header-search button:hover { background: var(--color-primary-dark); }

.nav-toggle {
    display: none; align-items: center; gap: 8px; background: var(--color-primary-light);
    border: 1.5px solid var(--color-primary); color: var(--color-primary-dark);
    border-radius: 8px; cursor: pointer; padding: 7px 12px; font-family: var(--font-hindi);
    font-weight: 700; font-size: 14px;
}
.nav-toggle__bars { display: inline-flex; flex-direction: column; gap: 4px; }
.nav-toggle__bars span { display: block; width: 18px; height: 2.5px; background: var(--color-primary-dark); border-radius: 2px; transition: transform .2s ease, opacity .2s ease; }
.nav-toggle[aria-expanded="true"] { background: var(--color-primary); border-color: var(--color-primary); color: #fff; }
.nav-toggle[aria-expanded="true"] .nav-toggle__bars span { background: #fff; }
.nav-toggle[aria-expanded="true"] .nav-toggle__bars span:nth-child(1) { transform: translateY(6.5px) rotate(45deg); }
.nav-toggle[aria-expanded="true"] .nav-toggle__bars span:nth-child(2) { opacity: 0; }
.nav-toggle[aria-expanded="true"] .nav-toggle__bars span:nth-child(3) { transform: translateY(-6.5px) rotate(-45deg); }
.site-nav__lang { display: none; }
.site-nav__inner > a.site-nav__mobile-only { display: none; }   /* laptop par sirf footer me rehta hai */

.site-nav { background: var(--color-primary); }
.site-nav__inner { display: flex; gap: 4px; }
.site-nav__inner > a, .site-nav__dropdown > a {
    display: block; color: #fff; padding: 12px 18px; font-family: var(--font-hindi);
    font-weight: 600; font-size: 15.5px; white-space: nowrap;
}
.site-nav__inner > a:hover, .site-nav__dropdown:hover > a { background: var(--color-primary-dark); text-decoration: none; }

/* Jo page abhi khula hai, uska menu narangi ho jata hai - taaki pata
   chalta rahe ki hum website me kahan hain */
.site-nav__inner > a.is-active,
.site-nav__dropdown.is-current > a,
.site-nav__inner > a.is-active:hover,
.site-nav__dropdown.is-current:hover > a {
    background: var(--color-accent); color: #fff;
}
.site-nav__dropdown { position: relative; }
.site-nav__inner > a.has-caret, .site-nav__dropdown > a.has-caret { display: flex; align-items: center; gap: 7px; }
.has-caret::after {
    content: ""; display: inline-block; width: 6px; height: 6px; margin-top: -3px;
    border-right: 2px solid currentColor; border-bottom: 2px solid currentColor;
    transform: rotate(45deg); opacity: .85;
}
.site-nav__dropdown-menu {
    display: none; position: absolute; left: 0; top: 100%; background: #fff; min-width: 300px;
    box-shadow: var(--shadow-md); border-radius: 0 0 10px 10px; padding: 8px; z-index: 50;
}
.site-nav__dropdown:hover .site-nav__dropdown-menu { display: block; }
.site-nav__dropdown-menu a {
    display: block; width: 100%; color: var(--color-ink); padding: 9px 12px;
    border-radius: 6px; font-weight: 500; font-size: 14.5px; white-space: nowrap;
}
.site-nav__dropdown-menu a:hover { background: var(--color-primary-light); text-decoration: none; }

/* =========== Hero =========== */
.hero {
    background: linear-gradient(135deg, var(--color-primary-dark), var(--color-primary));
    color: #fff; padding: 38px 0 60px;
}
.hero__inner { max-width: 720px; }
.hero h1 { color: #fff; font-size: clamp(28px, 4vw, 42px); }
.hero p { color: rgba(255,255,255,0.9); font-size: 18px; }
.hero-search { display: flex; gap: 0; max-width: 560px; margin-top: 24px; box-shadow: var(--shadow-md); border-radius: 10px; overflow: hidden; }
.hero-search input { flex: 1; border: none; padding: 16px 18px; font-size: 16px; font-family: var(--font-hindi); }
.hero-search button {
    background: var(--color-accent); color: #fff; border: none; padding: 0 26px; font-weight: 700;
    font-family: var(--font-hindi); font-size: 16px; cursor: pointer;
}
.hero-search button:hover { background: var(--color-accent-dark); }

/* =========== Hero banner (panel se upload hota hai) =========== */
.hero-banner { padding: 0; }
.hero-banner > .container { max-width: none; padding: 0; }
.hero-banner__frame { position: relative; overflow: hidden; }
.hero-banner__slide { display: none; }
.hero-banner__slide.is-active { display: block; }
.hero-banner__slide img {
    display: block; width: 100%; height: auto; aspect-ratio: 1600 / 350; object-fit: cover;
    background: var(--color-primary-light);
}
.hero-banner__dots {
    position: absolute; left: 0; right: 0; bottom: 10px; display: flex;
    justify-content: center; gap: 8px;
}
.hero-banner__dot {
    width: 9px; height: 9px; padding: 0; border-radius: 50%; border: 1.5px solid #fff;
    background: rgba(255,255,255,.45); cursor: pointer;
}
.hero-banner__dot.is-active { background: #fff; }


/* =========== Stats =========== */
.stats-row { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin-top: -46px; position: relative; z-index: 5; }
.stats-row--flat { margin-top: 26px; }
.stats-row--bottom { margin-top: 0; }
.stat-box { background: #fff; border-radius: var(--radius); box-shadow: var(--shadow-md); padding: 20px; text-align: center; }
.stat-box strong { display: block; font-size: 30px; color: var(--color-primary); font-family: var(--font-hindi); }
.stat-box span { color: var(--color-ink-soft); font-size: 14px; }

/* =========== Section headers =========== */
.section { padding: 44px 0; }
.section--muted { background: #fff; }
.section-head { text-align: center; max-width: 640px; margin: 0 auto 36px; }
.section-head h2 { font-size: 28px; }
.section-head p { color: var(--color-ink-soft); }

/* =========== Category grid =========== */
.category-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.category-card {
    background: #fff; border: 1.5px solid var(--color-border); border-radius: var(--radius);
    padding: 22px 16px; text-align: center; transition: all .15s ease;
    display: flex; flex-direction: column; justify-content: center; min-height: 104px;
}
.category-card:hover { border-color: var(--color-primary); box-shadow: var(--shadow-sm); text-decoration: none; transform: translateY(-2px); }
.category-card__name { font-family: var(--font-hindi); font-weight: 700; color: var(--color-ink); display: block; margin-bottom: 4px; }
.category-card__count { font-size: 13px; color: var(--color-ink-soft); }

/* =========== How it works =========== */
.steps-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.step-box { text-align: center; padding: 10px; }
.step-box__num {
    width: 46px; height: 46px; border-radius: 50%; background: var(--color-primary-light); color: var(--color-primary);
    display: flex; align-items: center; justify-content: center; font-weight: 800; font-size: 18px; margin: 0 auto 14px;
}

/* =========== Scheme grid / cards =========== */
.scheme-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.scheme-card {
    background: #fff; border: 1px solid var(--color-border); border-radius: var(--radius);
    padding: 20px; display: flex; flex-direction: column; box-shadow: var(--shadow-sm);
    position: relative; transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}
.scheme-card:hover { border-color: var(--color-primary); box-shadow: var(--shadow-md); transform: translateY(-2px); }

/* Poora card click hone layak: title wale link ka ::after card ke poore area
   par fail jata hai, isliye card me kahin bhi click karne se yojana khulti hai.
   Ye asli <a> tag hai - JavaScript ki zaroorat nahi, SEO bhi theek rehta hai. */
.stretched-link::after {
    content: ""; position: absolute; inset: 0; z-index: 1;
}
.scheme-card__top { display: flex; justify-content: space-between; align-items: center; margin-bottom: 10px; }
.scheme-card__level {
    font-size: 11.5px; font-weight: 700; padding: 3px 10px; border-radius: 20px;
    background: var(--color-primary-light); color: var(--color-primary);
}
.scheme-card__level--central { background: #fff4e5; color: var(--color-accent-dark); }
.scheme-card__featured { font-size: 12px; font-weight: 700; color: var(--color-accent-dark); }
.scheme-card__title { font-size: 18px; margin-bottom: 4px; }
.scheme-card__title a { color: var(--color-ink); }
.scheme-card__dept { font-size: 13px; color: var(--color-ink-soft); margin-bottom: 8px; }
.scheme-card__desc { font-size: 14.5px; color: var(--color-ink-soft); flex: 1; }
.scheme-card__tags { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 12px; }
.tag-chip { font-size: 12px; background: var(--color-bg); border: 1px solid var(--color-border); padding: 3px 10px; border-radius: 20px; color: var(--color-ink-soft); }
.scheme-card__link { font-weight: 700; font-size: 14.5px; color: var(--color-primary); margin-top: auto; }
.scheme-card:hover .scheme-card__link { text-decoration: underline; }
.scheme-card__title a:hover { text-decoration: none; }

/* =========== Yojana ki tithiyan =========== */
.date-strip {
    display: flex; flex-wrap: wrap; gap: 10px 26px; align-items: center;
    background: rgba(255,255,255,.14); border: 1px solid rgba(255,255,255,.25);
    border-radius: 10px; padding: 12px 16px; margin-bottom: 18px;
}
.date-strip__item { display: flex; flex-direction: column; line-height: 1.35; }
.date-strip__label { font-size: 12px; opacity: .85; }
.date-strip__item strong { font-size: 15.5px; font-family: var(--font-hindi); }
.date-strip__closed {
    background: #fff; color: #b3141c; font-weight: 700; font-size: 13px;
    padding: 4px 12px; border-radius: 20px;
}
.date-strip--closed { background: rgba(179,20,28,.18); border-color: rgba(255,255,255,.3); }

/* Card par antim tithi */
.scheme-card__date {
    font-size: 13px; color: var(--color-ink-soft); margin: 0 0 10px;
    border-top: 1px dashed var(--color-border); padding-top: 9px;
}
.scheme-card__date strong { color: var(--color-accent-dark); font-family: var(--font-hindi); }
.scheme-card__date--closed { color: #b3141c; font-weight: 600; }

/* =========== NEW ka tag =========== */
.new-tag {
    display: inline-block; background: #d32029; color: #fff;
    font-family: var(--font-hindi); font-weight: 800; font-size: 11px;
    letter-spacing: .08em; padding: 3px 9px; border-radius: 4px;
    line-height: 1.5; box-shadow: 0 0 0 0 rgba(211,32,41,.55);
    animation: newBlink 1.2s ease-in-out infinite;
}
.new-tag--lg { font-size: 13px; padding: 5px 13px; }
.new-tag--still { animation: none; box-shadow: none; }   /* panel ki soochi me shaant rahe */

@keyframes newBlink {
    0%, 100% { background: #d32029; color: #fff;    box-shadow: 0 0 0 0 rgba(211,32,41,.55); }
    50%      { background: #b3141c; color: #ffdd57; box-shadow: 0 0 0 5px rgba(211,32,41,0); }
}

/* Jinhe hilti-dulti cheezein pareshan karti hain, unke liye tag sthir rahe */
@media (prefers-reduced-motion: reduce) {
    .new-tag { animation: none; }
}

/* =========== Buttons =========== */
.btn {
    display: inline-block; padding: 12px 24px; border-radius: 8px; font-family: var(--font-hindi);
    font-weight: 700; font-size: 15px; cursor: pointer; border: none; text-align: center;
}
.btn-primary { background: var(--color-primary); color: #fff; }
.btn-primary:hover { background: var(--color-primary-dark); text-decoration: none; color: #fff; }
.btn-accent { background: var(--color-accent); color: #fff; }
.btn-accent:hover { background: var(--color-accent-dark); text-decoration: none; color: #fff; }
.btn-outline { background: transparent; border: 1.5px solid var(--color-primary); color: var(--color-primary); }
.btn-outline:hover { background: var(--color-primary-light); text-decoration: none; }
.btn-block { display: block; width: 100%; }
.btn-sm { padding: 7px 14px; font-size: 13.5px; }
.btn-danger { background: var(--color-danger); color: #fff; }

/* =========== Filters + listing layout =========== */
.listing-layout { display: grid; grid-template-columns: 280px 1fr; gap: 28px; align-items: start; }
.filters-box { background: #fff; border: 1px solid var(--color-border); border-radius: var(--radius); padding: 20px; position: sticky; top: 90px; }
.filters-box h3 { font-size: 16px; margin-bottom: 14px; }
.filter-group { margin-bottom: 18px; padding-bottom: 18px; border-bottom: 1px solid var(--color-border); }
.filter-group:last-child { border-bottom: none; }
.filter-group__title { font-weight: 700; font-size: 14px; margin-bottom: 8px; display: block; }
.filter-group label { display: flex; align-items: center; gap: 8px; font-size: 14px; padding: 4px 0; color: var(--color-ink-soft); cursor: pointer; }
.filter-group select { width: 100%; padding: 8px 10px; border: 1px solid var(--color-border); border-radius: 6px; font-family: var(--font-hindi); }

.listing-toolbar { display: flex; justify-content: space-between; align-items: center; margin-bottom: 18px; flex-wrap: wrap; gap: 10px; }
.listing-toolbar__count { font-family: var(--font-hindi); font-weight: 700; }
.listing-toolbar select { padding: 8px 10px; border: 1px solid var(--color-border); border-radius: 6px; font-family: var(--font-hindi); }

.mobile-filter-toggle { display: none; }

/* =========== Pagination =========== */
.pagination { display: flex; justify-content: center; gap: 6px; margin-top: 32px; flex-wrap: wrap; }
.pagination a, .pagination span {
    display: inline-flex; align-items: center; justify-content: center; min-width: 38px; height: 38px;
    border-radius: 8px; border: 1px solid var(--color-border); color: var(--color-ink); font-weight: 600; padding: 0 8px;
}
.pagination a:hover { background: var(--color-primary-light); text-decoration: none; }
.pagination .active { background: var(--color-primary); color: #fff; border-color: var(--color-primary); }

/* =========== Scheme detail page =========== */
.scheme-detail__header { background: #fff; border-bottom: 1px solid var(--color-border); padding: 32px 0; }
.breadcrumb { font-size: 13.5px; color: var(--color-ink-soft); margin-bottom: 14px; }
.breadcrumb a { color: var(--color-ink-soft); }
.scheme-detail__dept { color: var(--color-ink-soft); margin-bottom: 6px; }
.scheme-detail__title { font-size: clamp(24px, 3vw, 32px); margin-bottom: 12px; }
.scheme-detail__meta { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 16px; }
.scheme-detail__actions { display: flex; gap: 12px; flex-wrap: wrap; }

.detail-layout { display: grid; grid-template-columns: 1fr 320px; gap: 30px; margin-top: 30px; align-items: start; }

/* Grid ke hisson ki chaudai unke andar ke content se na badhe.
   Bina iske "min-width: auto" ki wajah se tab wali patti (jo kabhi
   sikudti nahi) poore column ko screen se chauda kar deti thi -
   isi se mobile par page daayein-baayein khisakne lagta tha. */
.detail-layout > *,
.listing-layout > * { min-width: 0; }

.tabs {
    display: flex; overflow-x: auto; border-bottom: 2px solid var(--color-border);
    margin-bottom: 24px; scrollbar-width: thin; -webkit-overflow-scrolling: touch;
}
.tabs::-webkit-scrollbar { height: 3px; }
.tabs::-webkit-scrollbar-thumb { background: var(--color-border); border-radius: 3px; }
.tabs a {
    padding: 12px 18px; white-space: nowrap; font-weight: 700; color: var(--color-ink-soft);
    border-bottom: 3px solid transparent; font-family: var(--font-hindi); font-size: 14.5px;
}
.tabs a.active, .tabs a:hover { color: var(--color-primary); border-color: var(--color-primary); text-decoration: none; }

.tab-panel { background: #fff; border: 1px solid var(--color-border); border-radius: var(--radius); padding: 26px; margin-bottom: 20px; }
.tab-panel h2 {
    font-size: 19px; color: var(--color-primary-dark);
    padding-bottom: 10px; margin-bottom: 14px;
    border-bottom: 2px solid var(--color-primary-light);
}
.tab-panel :is(p, li) { color: var(--color-ink); }

.sidebar-box { background: #fff; border: 1px solid var(--color-border); border-radius: var(--radius); padding: 20px; margin-bottom: 20px; }
.sidebar-box h4 { font-size: 15px; margin-bottom: 12px; }
.source-note { font-size: 12.5px; color: var(--color-ink-soft); background: #fffbeb; border: 1px solid #fde68a; padding: 12px; border-radius: 8px; }

/* =========== FAQ (hamesha khula) =========== */
.faq-block {
    background: #fff; border: 1px solid var(--color-border); border-radius: var(--radius);
    padding: 26px; margin-bottom: 20px;
}
.faq-block__title {
    font-size: 19px; color: var(--color-primary-dark); margin-bottom: 4px;
    padding-bottom: 12px; border-bottom: 2px solid var(--color-primary-light);
}
.faq-item { border-bottom: 1px solid var(--color-border); padding: 16px 0; }
.faq-item:last-child { border-bottom: none; padding-bottom: 0; }
.faq-item__q {
    font-family: var(--font-hindi); font-weight: 700; font-size: 16.5px;
    color: var(--color-ink); margin-bottom: 8px; line-height: 1.5;
}
.faq-item__a { font-size: 15.5px; color: var(--color-ink-soft); }
.faq-item__a > *:last-child { margin-bottom: 0; }

/* =========== Ad slots =========== */
.ad-slot { margin: 24px auto; text-align: center; min-height: 0; }
.ad-slot--footer { padding: 10px 20px; }
.ad-slot-label { font-size: 11px; color: #9aa1ad; text-transform: uppercase; letter-spacing: .5px; margin-bottom: 4px; }

/* =========== Blog =========== */
.blog-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.blog-card {
    background: #fff; border: 1px solid var(--color-border); border-radius: var(--radius);
    overflow: hidden; box-shadow: var(--shadow-sm); position: relative;
    transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}
.blog-card:hover { border-color: var(--color-primary); box-shadow: var(--shadow-md); transform: translateY(-2px); }
.blog-card__more { display: inline-block; margin-top: 8px; font-weight: 700; font-size: 14px; color: var(--color-primary); }
.blog-card:hover .blog-card__more { text-decoration: underline; }
.blog-card__img { width: 100%; height: 170px; object-fit: cover; background: var(--color-primary-light); }
.blog-card__body { padding: 18px; }
.blog-card__date { font-size: 12.5px; color: var(--color-ink-soft); }
.blog-card__title { font-size: 17px; margin: 6px 0; }
.blog-post { max-width: 760px; margin: 0 auto; background: #fff; border-radius: var(--radius); padding: 32px; border: 1px solid var(--color-border); }
.blog-post img { border-radius: 8px; margin: 16px 0; }
.blog-post h1 { font-size: 28px; }
.blog-post .post-meta { color: var(--color-ink-soft); font-size: 14px; margin-bottom: 20px; }

/* =========== Static / info pages =========== */
.static-page { max-width: 820px; margin: 0 auto; background: #fff; padding: 36px; border-radius: var(--radius); border: 1px solid var(--color-border); }
.static-page h1 { font-size: 28px; margin-bottom: 18px; }
.static-page h2 { font-size: 19px; margin-top: 28px; color: var(--color-primary-dark); }
.static-page ul { color: var(--color-ink-soft); margin: 10px 0 16px; }
.static-page li { margin-bottom: 7px; }

/* =========== Forms (contact etc.) =========== */
.form-group { margin-bottom: 16px; }
.form-group label { display: block; font-weight: 700; margin-bottom: 6px; font-size: 14.5px; }
.form-group input, .form-group textarea, .form-group select {
    width: 100%; padding: 11px 14px; border: 1.5px solid var(--color-border); border-radius: 8px;
    font-family: var(--font-base); font-size: 15px;
}
.form-group textarea { resize: vertical; min-height: 120px; }

/* =========== Alerts / flash =========== */
.alert { padding: 14px 18px; border-radius: 8px; margin-bottom: 18px; font-weight: 600; font-size: 14.5px; }
.alert-success { background: #ecfdf3; color: var(--color-success); border: 1px solid #a6f4c5; }
.alert-error { background: #fef3f2; color: var(--color-danger); border: 1px solid #fda29b; }
.alert-warning { background: #fffaeb; color: #b54708; border: 1px solid #fedf89; }

/* Lekhak ki pankti + "antim update" ki tareekh (yojana aur blog dono par) */
.byline {
    display: flex; flex-wrap: wrap; align-items: center; gap: 8px;
    margin: 10px 0 0; font-size: 14px; color: var(--color-ink-soft);
}
.byline strong { font-weight: 700; }
.byline__sep { opacity: .5; }
.scheme-detail__header .byline { margin-bottom: 4px; }
@media (max-width: 560px) {
    .byline { font-size: 13px; gap: 6px; }
}

/* Sampark page par prakashak (publisher) ki pehchan wala box */
.publisher-box {
    margin-top: 36px; padding: 22px 24px; background: var(--color-bg-soft, #f5f7f9);
    border: 1px solid var(--color-border, #e2e5ea); border-radius: 12px;
}
.publisher-box h2 { margin: 0 0 14px; font-size: 19px; }
.publisher-box__list { display: grid; grid-template-columns: 150px 1fr; gap: 8px 16px; margin: 0; }
.publisher-box__list > * { min-width: 0; }
.publisher-box__list dt { color: var(--color-ink-soft, #5b6472); font-size: 14.5px; }
.publisher-box__list dd { margin: 0; font-size: 15px; font-weight: 600; }
.publisher-box__note {
    margin: 16px 0 0; padding-top: 14px; border-top: 1px dashed var(--color-border, #e2e5ea);
    font-size: 13.5px; color: var(--color-ink-soft, #5b6472);
}
@media (max-width: 560px) {
    .publisher-box { padding: 18px; }
    .publisher-box__list { grid-template-columns: 1fr; gap: 2px; }
    .publisher-box__list dd { margin-bottom: 10px; }
}
.alert-info { background: var(--color-primary-light); color: var(--color-primary-dark); border: 1px solid #b7e4c7; }

.empty-state { text-align: center; padding: 60px 20px; color: var(--color-ink-soft); }


/* =========== Live search suggestions =========== */
.header-search, .hero-search { position: relative; }
.live-results {
    position: absolute; top: calc(100% + 6px); left: 0; right: 0; background: #fff;
    border: 1px solid var(--color-border); border-radius: 10px; box-shadow: var(--shadow-md);
    z-index: 200; max-height: 70vh; overflow-y: auto; text-align: left;
}
.hero-search .live-results { top: calc(100% + 8px); }
.live-item { display: block; padding: 11px 14px; border-bottom: 1px solid var(--color-border); color: var(--color-ink); }
.live-item:last-child { border-bottom: none; }
.live-item:hover, .live-item.is-active { background: var(--color-primary-light); text-decoration: none; }
.live-item__title { font-family: var(--font-hindi); font-weight: 700; font-size: 14.5px; display: block; margin-bottom: 2px; }
.live-item__meta { font-size: 12.5px; color: var(--color-ink-soft); display: block; }
.live-empty { padding: 16px; text-align: center; color: var(--color-ink-soft); font-size: 14px; }
.live-footer { padding: 10px 14px; background: #fafbfc; text-align: center; font-weight: 700; font-size: 13.5px; }
.live-loading { padding: 14px; text-align: center; color: var(--color-ink-soft); font-size: 13.5px; }

/* =========== Subscribe band =========== */
.subscribe-band { background: linear-gradient(135deg, var(--color-primary-dark), var(--color-primary)); color: #fff; padding: 36px 0; margin-top: 50px; }
.subscribe-band__inner { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; align-items: center; }
.subscribe-band h2 { color: #fff; font-size: 23px; margin-bottom: 6px; }
.subscribe-band p { color: rgba(255,255,255,.88); margin: 0; font-size: 14.5px; }
.subscribe-form { display: flex; flex-wrap: wrap; gap: 10px; position: relative; }
.subscribe-form input {
    flex: 1 1 180px; min-width: 0; padding: 12px 14px; border: none; border-radius: 8px;
    font-family: var(--font-hindi); font-size: 15px;
}
.subscribe-form button { flex-shrink: 0; }
.subscribe-form__note { flex-basis: 100%; font-size: 12.5px; color: rgba(255,255,255,.75); }
.subscribe-form--page { margin: 20px 0 8px; justify-content: center; }
.subscribe-form--page input { background: #fff; border: 1.5px solid var(--color-border); }
.site-footer { margin-top: 0; }

/* =========== Footer =========== */
.site-footer { background: var(--color-primary-dark); color: rgba(255,255,255,0.85); padding: 50px 0 0; margin-top: 60px; }
.footer-grid { display: grid; grid-template-columns: 1.6fr 1fr 1fr 1fr; gap: 30px; padding-bottom: 30px; }
.footer-col h4 { color: #fff; font-size: 15px; margin-bottom: 14px; }
.footer-col ul { list-style: none; padding: 0; margin: 0; }
.footer-col li { margin-bottom: 8px; }
.footer-col a { color: rgba(255,255,255,0.8); font-size: 14px; }
.footer-col a:hover { color: #fff; }
.footer-note { font-size: 12.5px; color: rgba(255,255,255,0.6); }
.footer-disclaimer { font-size: 13px; line-height: 1.7; color: rgba(255,255,255,0.75); margin-top: 12px; }
.footer-disclaimer a { color: #ffd699; }
.footer-bottom { border-top: 1px solid rgba(255,255,255,0.15); padding: 16px 20px; text-align: center; font-size: 13px; }

/* =========================================================
   Cookie soochna patti
   Neeche chipki rehti hai, content ko dhakti nahi.
   ========================================================= */
/* =========================================================
   कुकी सूचना — सूचना की तरह, फ़ुटर की तरह नहीं
   -----------------------------------------------------------------
   Pehle ye patti poori chaudai me, footer ke bilkul same rang
   (--color-primary-dark) me, screen ke kinare chipki hui thi. Log ise
   footer ka hissa samajh kar chhod dete the - Clarity me iske button par
   na ke barabar click dikhe.
   Ab: safed card, kinare se hatkar, chhaya ke saath - taaki page ke upar
   "kuch aaya hai" lage. Rang bhi footer wala nahi hai, yahi sabse badi baat.
   ========================================================= */
.cookie-notice {
    position: fixed; z-index: 200;
    left: 16px; right: 16px; bottom: 16px;
    bottom: calc(16px + env(safe-area-inset-bottom, 0px));
    display: flex; justify-content: flex-end;
    pointer-events: none;                 /* card ke bahar click page tak jaye */
}
.cookie-notice__card {
    pointer-events: auto;
    width: 100%; max-width: 430px;
    background: #fff; color: var(--color-ink);
    border: 1px solid var(--color-border);
    border-top: 4px solid var(--color-accent);
    border-radius: 14px;
    padding: 18px 20px 16px;
    box-shadow: 0 18px 48px rgba(16, 32, 24, .28), 0 2px 6px rgba(16, 32, 24, .10);

    /* aate waqt neeche se upar - isi se nazar jati hai */
    opacity: 0; transform: translateY(20px) scale(.98);
    transition: opacity .25s ease, transform .25s cubic-bezier(.2,.8,.3,1.1);
}
.cookie-notice.is-in .cookie-notice__card { opacity: 1; transform: none; }

.cookie-notice__head { display: flex; align-items: center; gap: 9px; margin-bottom: 8px; }
.cookie-notice__icon { color: var(--color-accent); display: flex; flex: none; }
.cookie-notice__title { font-size: 16px; line-height: 1.4; color: var(--color-ink); }

.cookie-notice__text {
    margin: 0 0 14px; font-size: 14px; line-height: 1.65; color: var(--color-ink-soft);
}
.cookie-notice__text a { color: var(--color-primary); text-decoration: underline; }

.cookie-notice__actions { display: flex; gap: 10px; justify-content: flex-end; }
.cookie-notice__actions .btn { flex: 0 1 auto; }

@media (max-width: 720px) {
    .cookie-notice { left: 12px; right: 12px; bottom: calc(12px + env(safe-area-inset-bottom, 0px)); }
    .cookie-notice__card { max-width: none; padding: 16px 16px 14px; }
    .cookie-notice__actions .btn { flex: 1; }
}

/* jinhone animation band ki hui hai, unke liye seedha dikh jaye */
@media (prefers-reduced-motion: reduce) {
    .cookie-notice__card { transition: none; opacity: 1; transform: none; }
}

/* =========================================================
   Sarkari portal directory page
   ========================================================= */
.portal-head { max-width: 760px; margin-bottom: 26px; }
.portal-head h1 { font-size: clamp(24px, 3vw, 32px); margin-bottom: 10px; }
.portal-head p { color: var(--color-ink-soft); font-size: 16px; }
.portal-warn {
    margin-top: 12px; font-size: 14.5px; color: var(--color-ink-soft);
    border-left: 3px solid var(--color-accent); background: #fff8ee;
    padding: 10px 14px; border-radius: 0 8px 8px 0;
}

.portal-jump { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 34px; }
.portal-jump a {
    font-size: 13.5px; font-weight: 600; padding: 7px 14px; border-radius: 20px;
    background: #fff; border: 1px solid var(--color-border); color: var(--color-ink);
}
.portal-jump a:hover { border-color: var(--color-primary); color: var(--color-primary); text-decoration: none; }

.portal-group { margin-bottom: 36px; scroll-margin-top: 90px; }
.portal-group__head { margin-bottom: 14px; }
.portal-group__head h2 {
    font-size: 21px; margin-bottom: 2px; padding-bottom: 8px;
    border-bottom: 2px solid var(--color-primary-light);
}
.portal-group__head p { color: var(--color-ink-soft); font-size: 14.5px; margin-top: 8px; }

.portal-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.portal-card {
    display: flex; flex-direction: column; gap: 3px;
    background: #fff; border: 1px solid var(--color-border); border-radius: var(--radius);
    padding: 15px 16px; color: var(--color-ink);
    transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}
.portal-card:hover {
    border-color: var(--color-primary); box-shadow: var(--shadow-sm);
    transform: translateY(-2px); text-decoration: none;
}
.portal-card__name { font-family: var(--font-hindi); font-weight: 700; font-size: 15.5px; line-height: 1.4; }
.portal-card__desc { font-size: 13px; color: var(--color-ink-soft); line-height: 1.5; flex: 1; }
.portal-card__host {
    font-size: 11.5px; color: var(--color-primary); word-break: break-all; margin-top: 6px;
}

.portal-note {
    background: var(--color-primary-light); border-radius: var(--radius);
    padding: 16px 18px; font-size: 14.5px; color: var(--color-ink-soft);
}
.portal-note p { margin: 0; }

@media (max-width: 1100px) { .portal-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 860px)  { .portal-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 720px) {
    .portal-grid { gap: 10px; }
    .portal-card { padding: 12px; }
    .portal-card__name { font-size: 14px; }
    .portal-card__desc { font-size: 12px; }
    .portal-card__host { font-size: 10.5px; }
    .portal-jump { gap: 6px; margin-bottom: 24px; }
    .portal-jump a { font-size: 12.5px; padding: 6px 11px; }
}

/* =========================================================
   Badi screen (full-width layout)
   Chaudai badhne par card lambe-chaude na ho jayen, isliye
   column badha dete hain.
   ========================================================= */
@media (min-width: 1400px) {
    .category-grid { grid-template-columns: repeat(6, 1fr); }
    .scheme-grid   { grid-template-columns: repeat(4, 1fr); }
    /* Homepage ka "lokpriya yojanaye" grid badi screen par bhi 3 column hi
       rakhte hain. Column 3/2/1 rehne se 6 card hamesha poori row banate hain
       aur ek bhi khana khali nahi dikhta. */
    .scheme-grid--home { grid-template-columns: repeat(3, 1fr); }
    .blog-grid     { grid-template-columns: repeat(4, 1fr); }
    .detail-layout { grid-template-columns: 1fr 360px; }
    .listing-layout { grid-template-columns: 300px 1fr; }
}
@media (min-width: 1700px) {
    /* 5 column jaan-boojhkar nahi rakha: tab ek page par ki ginti kisi bhi
       seedhe number se pura nahi katti aur aakhri row hamesha aadhi dikhti.
       Column 1/2/3/4 hi rehne se 12 aur 24 dono poori row banate hain. */
    .portal-grid { grid-template-columns: repeat(5, 1fr); }
    .blog-grid   { grid-template-columns: repeat(4, 1fr); }
}

/* 981px se badi screen par blog hamesha 4 column me - tab ek page ki
   16 post theek 4 lines me bat jati hain aur aakhri line adhoori nahi
   bachti. 980px se neeche 2 column (phone/tablet) - wo pehle jaisa hi. */
@media (min-width: 981px) {
    .blog-grid { grid-template-columns: repeat(4, 1fr); }
}

/* =========================================================
   Responsive
   ========================================================= */
@media (max-width: 980px) {
    .stats-row, .category-grid { grid-template-columns: repeat(2, 1fr); }
    .scheme-grid, .blog-grid { grid-template-columns: repeat(2, 1fr); }
    .steps-row { grid-template-columns: 1fr; }
    .listing-layout { grid-template-columns: 1fr; }
    .detail-layout { grid-template-columns: 1fr; }
    .footer-grid { grid-template-columns: 1fr 1fr; }

    .filters-box { position: static; display: none; }
    .filters-box.is-open { display: block; }
    .mobile-filter-toggle { display: inline-flex; }
}

@media (max-width: 900px) {
    .subscribe-band__inner { grid-template-columns: 1fr; }
}

@media (max-width: 720px) {
    .top-strip__inner { font-size: 11.5px; padding: 4px 14px; flex-wrap: wrap; justify-content: center; gap: 6px; }
    .top-strip__msg { white-space: normal; text-align: center; font-size: 11.5px; }
    .top-strip__badge { display: none; }
    .header-search { order: 3; max-width: none; width: 100%; margin: 4px 0 0; }
    /* Mobile header: upar logo aur neeche hari lakeer, dono se thodi jagah chhodein */
    .site-header .site-header__inner { flex-wrap: wrap; gap: 10px; padding: 12px 14px 14px; }
    .brand__logo { height: 36px; }
    .brand__tagline { font-size: 11px; }
    .brand--footer .brand__name { font-size: 19px; }
    .brand__icon { width: 40px; height: 40px; }
    .header-search input { padding: 10px 14px; font-size: 14px; }
    .header-search button { padding: 0 16px; font-size: 14px; }
    .site-nav__inner > a, .site-nav__dropdown > a { padding: 12px 4px; font-size: 15px; }
    /* mobile menu me narangi patti thodi andar se shuru ho */
    .site-nav__inner > a.is-active, .site-nav__dropdown.is-current > a {
        padding-left: 12px; border-radius: 6px;
    }
    .nav-toggle { display: inline-flex; margin-left: auto; }
    .site-nav__inner { flex-direction: column; gap: 0; }
    .site-nav { display: none; }
    .site-nav.is-open { display: block; }
    .site-nav__inner > a, .site-nav__dropdown > a { padding: 12px 4px; border-bottom: 1px solid rgba(255,255,255,.15); }
    .site-nav__dropdown-menu { position: static; box-shadow: none; min-width: 0; background: rgba(255,255,255,.08); border-radius: 8px; margin-bottom: 8px; }
    .site-nav__dropdown-menu a { color: #fff; }
    .site-nav__dropdown-menu a:hover { background: rgba(255,255,255,.14); }
    .site-nav__dropdown .site-nav__dropdown-menu { display: none; }
    .site-nav__dropdown.is-open .site-nav__dropdown-menu { display: block; }
    .site-nav__inner > a.site-nav__mobile-only { display: block; }
    .site-nav__lang { display: flex; gap: 8px; padding: 12px 4px 4px; }
    .site-nav__lang a {
        flex: 1; text-align: center; color: #fff; border: 1px solid rgba(255,255,255,.4);
        border-radius: 20px; padding: 7px 10px; font-weight: 700; font-size: 13.5px;
    }
    .site-nav__lang a.is-active { background: #fff; color: var(--color-primary-dark); }
    .subscribe-band { padding: 28px 0; margin-top: 36px; }
    .subscribe-form input { flex-basis: 100%; }
    .subscribe-form button { width: 100%; }
    /* Mobile par ek row me 2 card - isse asli content jaldi dikhta hai,
       bahut scroll nahi karna padta. */
    .stats-row, .category-grid, .scheme-grid, .blog-grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }
    .footer-grid { grid-template-columns: 1fr 1fr; gap: 18px 16px; }
    .footer-col--about { grid-column: 1 / -1; }
    .footer-col h4 { font-size: 14.5px; margin-bottom: 8px; }
    .footer-col ul li { font-size: 13.5px; line-height: 1.6; }
    .hero { padding: 40px 0 60px; }

    .stat-box { padding: 14px 10px; }
    .stat-box strong { font-size: 24px; }
    .stat-box span { font-size: 12.5px; }

    .category-card { padding: 16px 10px; min-height: 92px; }
    .category-card__name { font-size: 14.5px; line-height: 1.35; }
    .category-card__count { font-size: 12px; }

    .scheme-card { padding: 14px; }
    .scheme-card__title { font-size: 15.5px; line-height: 1.4; }
    .scheme-card__dept { font-size: 12px; }
    .scheme-card__desc { font-size: 13px; }
    .scheme-card__level { font-size: 10.5px; padding: 2px 8px; }
    .scheme-card__featured { font-size: 10.5px; }
    .scheme-card__tags { display: none; }
    .scheme-card__link { font-size: 13px; }

    .blog-card__body { padding: 12px; }
    .blog-card__title { font-size: 15px; line-height: 1.4; }
    .blog-card__body p { font-size: 12.5px; }

    .section { padding: 28px 0; }
    .section-head { margin-bottom: 22px; }
    .section-head h2 { font-size: 21px; }
    .section-head p { font-size: 14px; }

    .container { padding: 0 12px; }

    /* Tab wali patti mobile par ungli se khisakti hai */
    .tabs a { padding: 11px 13px; font-size: 13.5px; }
    .date-strip { gap: 8px 18px; padding: 10px 12px; }
    .date-strip__item strong { font-size: 14.5px; }
    .scheme-card__date { font-size: 12px; }
    .tab-panel { padding: 16px 14px; }
    .faq-block { padding: 16px 14px; }
    .faq-item__q { font-size: 15.5px; }
    .faq-item__a { font-size: 14.5px; }
    .sidebar-box { padding: 16px 14px; }
    .scheme-detail__title { font-size: 21px; line-height: 1.35; }
    .breadcrumb { font-size: 12.5px; }
    .hero-banner__slide img { aspect-ratio: 8 / 7; }
}

/* Bahut chhoti screen (chhote Android phone) par ek hi card theek rehta hai */
@media (max-width: 380px) {
    .scheme-grid, .blog-grid { grid-template-columns: 1fr; }
}

/* =========================================================
   Rich content (panel ke editor se aaya hua HTML)
   Blog post aur yojana ke tab - dono ek jaise dikhein.
   ========================================================= */
.rich-content { font-size: 16px; line-height: 1.85; color: var(--color-ink); }
.rich-content > *:first-child { margin-top: 0; }
.rich-content p { margin-bottom: 1em; }
.rich-content h2 { font-size: 23px; margin: 1.5em 0 .5em; }
.rich-content h3 { font-size: 19.5px; margin: 1.4em 0 .4em; }
.rich-content h4 { font-size: 17px; margin: 1.3em 0 .4em; }
.rich-content ul, .rich-content ol { margin: 0 0 1em 1.3em; }
.rich-content li { margin-bottom: .45em; }
.rich-content a { color: var(--color-primary); text-decoration: underline; }
.rich-content img { max-width: 100%; height: auto; border-radius: 8px; margin: 14px 0; }
.rich-content blockquote {
    border-left: 3px solid var(--color-border); margin: 1.2em 0; padding: .3em 1em;
    color: var(--color-ink-soft); background: var(--color-bg); border-radius: 0 8px 8px 0;
}
.rich-content table { width: 100%; border-collapse: collapse; margin: 1.2em 0; font-size: 15px; }
.rich-content th, .rich-content td { border: 1px solid var(--color-border); padding: 9px 12px; text-align: left; }
.rich-content th { background: var(--color-bg); font-weight: 700; }
.rich-content figure { margin: 1.2em 0; }

/* =========================================================
   Lamba link / shabd kabhi poore page ko chauda na kare
   ---------------------------------------------------------
   Jad (root cause): panel se likhe gaye lekh me kabhi-kabhi bahut
   lamba link aa jata hai, jaise
   https://dbtagriculture.bihar.gov.in/pmkisan/Diesel202324/Diesel2526status.aspx
   Aise link ke beech me space nahi hota, isliye browser use tod nahi
   pata aur woh apni poori chaudai maangta hai. Phone par page usi se
   daayein-baayein khisak jata tha.

   Ilaaj do hisson me hai, aur dono poori site par lagte hain - kisi
   ek page ka patch nahi. Isliye aage koi naya lekh, nayi yojana ya
   naya section bane, dikkat dobara nahi aayegi:

   1. Har text apne dibbe me hi toot jaye (niche wala baseline)
   2. Har dibba apne andar ki cheez se bada na ho jaye (min-width: 0)
   ========================================================= */

/* 1. Baseline - poori website par, har jagah */
body {
    overflow-wrap: break-word;
    word-break: break-word;       /* purane Android browser ke liye */
}
/* Link, code aur URL me space hota hi nahi, inhe kahin se bhi todein.
   (Menu par asar nahi padta - wahan white-space: nowrap laga hai) */
a, code, kbd, samp {
    overflow-wrap: anywhere;
}
pre {
    white-space: pre-wrap;
    overflow-wrap: anywhere;
    max-width: 100%;
}

/* 2. Dibbe apni jagah me rahein.
   min-width: 0 isliye, kyunki grid/flex ke andar dibba apne andar ki
   sabse chaudi cheez jitna chaud ho jata hai - yahi "page khisak raha
   hai" wali dikkat ki asli jad thi. */
.rich-content, .faq-block, .tab-panel,
.sidebar-box, .scheme-card, .blog-card, .footer-col, .live-item {
    max-width: 100%;
    min-width: 0;
}
/* Inki apni chaudai (jaise .blog-post ki 760px) waisi hi rehne dein */
.blog-post, .static-page, .scheme-detail__header { min-width: 0; }

/* Bahar se aayi cheezein (YouTube video waghera) bhi dabri rahein */
.rich-content img, .rich-content iframe, .rich-content video,
.rich-content embed, .rich-content object, .rich-content table {
    max-width: 100%;
}
.rich-content figcaption { font-size: 13.5px; color: var(--color-ink-soft); text-align: center; margin-top: 6px; }

/* Badi table chhoti screen par side me scroll ho jaye, page na toote */
@media (max-width: 720px) {
    .rich-content { font-size: 15.5px; }
    .rich-content table { display: block; overflow-x: auto; white-space: nowrap; }
}

/* =========================================================
   Internal linking - lekh ke beech aur ant me judne wale link
   ========================================================= */
.inline-related {
    margin: 26px 0; padding: 18px 20px;
    background: var(--color-primary-light, #eef5f1);
    border: 1px solid var(--color-border);
    border-left: 4px solid var(--color-primary);
    border-radius: 10px;
}
.inline-related__title { margin: 0 0 12px; font-size: 17px; color: var(--color-primary-dark); }
.inline-related__list { list-style: none; margin: 0; padding: 0; }
.inline-related__list li { margin-bottom: 10px; line-height: 1.55; }
.inline-related__list li:last-child { margin-bottom: 0; }
.inline-related__list a { font-weight: 700; color: var(--color-primary-dark); text-decoration: underline; }
.inline-related__desc { display: block; font-size: 13.5px; color: var(--color-ink-soft); font-weight: 400; }
.inline-related__more { margin: 14px 0 0; font-size: 14px; color: var(--color-ink-soft); }

.post-next { max-width: 760px; margin: 22px auto 0; }
.post-next__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.post-next__col {
    background: #fff; border: 1px solid var(--color-border);
    border-radius: var(--radius); padding: 20px 22px; min-width: 0;
}
.post-next__col h2 { font-size: 17px; margin: 0 0 12px; }
.post-next__list { list-style: none; margin: 0 0 12px; padding: 0; }
.post-next__list li { margin-bottom: 11px; line-height: 1.5; }
.post-next__list a { font-weight: 600; }
.post-next__date { display: block; font-size: 12.5px; color: var(--color-ink-soft); }
.post-next p { margin: 0; font-size: 14px; }

@media (max-width: 640px) {
    .post-next__grid { grid-template-columns: 1fr; }
    .inline-related { padding: 16px; margin: 22px 0; }
}

/* =========================================================
   Blog cover - image ho ya na ho, dibba hamesha bhara dikhe
   ---------------------------------------------------------
   Peeche hamesha hara dibba (brand + post ka naam) rehta hai.
   Image upar aa jati hai. Image na ho ya file toot jaye to
   neeche wala dibba dikhta rehta hai - koi khaali jagah nahi.
   ========================================================= */
.blog-cover {
    position: relative; height: 170px; overflow: hidden;
    background: linear-gradient(140deg, var(--color-primary-dark), var(--color-primary));
    display: flex; flex-direction: column; justify-content: center;
    padding: 18px 20px; gap: 8px;
}
.blog-cover__brand {
    font-size: 12.5px; font-weight: 700; letter-spacing: .3px;
    color: rgba(255, 255, 255, .8); text-transform: none;
}
.blog-cover__text {
    font-family: var(--font-hindi); font-weight: 700; font-size: 16px;
    line-height: 1.45; color: #fff;
    display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
}
.blog-cover img {
    position: absolute; inset: 0; width: 100%; height: 100%;
    object-fit: cover; display: block;
}
.blog-cover--tall { height: 300px; border-radius: 10px; margin-bottom: 18px; }
.blog-cover--tall .blog-cover__text { font-size: 21px; -webkit-line-clamp: 4; }

@media (max-width: 640px) {
    .blog-cover { height: 150px; }
    .blog-cover--tall { height: 200px; }
    .blog-cover--tall .blog-cover__text { font-size: 17px; }
}

/* ===== सरकारी अधिसूचना (notification PDF) - v32 ===== */
.scheme-detail__notif-note {
    margin: 12px 0 0;
    font-size: 13.5px;
    line-height: 1.6;
    color: var(--color-ink-soft);
    overflow-wrap: anywhere;
}

.notif-box {
    margin-top: 14px;
    padding-top: 14px;
    border-top: 1px solid #e6e9ee;
}
.notif-box__head {
    margin: 0 0 9px;
    font-size: 13px;
    font-weight: 700;
    color: #5b6472;
    letter-spacing: .2px;
}
.notif-box .btn + .btn { margin-top: 8px; }
.notif-box__note {
    margin: 9px 0 0;
    font-size: 12.5px;
    line-height: 1.6;
    color: #5b6472;
    overflow-wrap: anywhere;
}

/* =========================================================
   "एक नज़र में" — योजना पेज का सबसे ऊपर वाला सार
   -----------------------------------------------------------------
   Maqsad: jo visitor sirf 10 second dene aaya hai, use "kitna, kaun,
   kab tak, kahan" wahin mil jaye. Poora lekh neeche waise hi rehta hai -
   content ghataya nahi gaya, sirf jawab upar le aaye hain.
   ========================================================= */
.at-glance {
    margin-top: 22px;
    background: #fff;
    border: 1px solid var(--color-border);
    border-left: 4px solid var(--color-primary);
    border-radius: 12px;
    padding: 18px 20px 16px;
}
.at-glance__head {
    font-size: 15px; font-weight: 700; color: var(--color-primary);
    margin: 0 0 12px; letter-spacing: .2px;
}
.at-glance__grid { margin: 0; display: grid; gap: 0; }
.at-glance__row {
    display: grid; grid-template-columns: 190px 1fr; gap: 14px;
    padding: 9px 0; border-top: 1px solid #eef1f4;
}
.at-glance__row:first-child { border-top: 0; padding-top: 0; }
.at-glance__row dt { font-size: 14px; color: var(--color-ink-soft); }
.at-glance__row dd {
    margin: 0; font-size: 15px; font-weight: 600; color: var(--color-ink);
    overflow-wrap: anywhere;
}
.at-glance__row dd a { color: var(--color-primary); text-decoration: underline; }
.at-glance__closed {
    display: inline-block; margin-left: 6px; font-size: 12.5px; font-weight: 700;
    color: #b42318; background: #fef3f2; border: 1px solid #fecdca;
    border-radius: 999px; padding: 1px 9px;
}

.at-glance__jump {
    display: flex; flex-wrap: wrap; align-items: center; gap: 8px;
    margin-top: 14px; padding-top: 13px; border-top: 1px dashed var(--color-border);
}
.at-glance__jump-label { font-size: 13px; color: var(--color-ink-soft); }
.at-glance__jump a {
    font-size: 13.5px; font-weight: 600; padding: 6px 13px; border-radius: 999px;
    background: #f7f9fa; border: 1px solid var(--color-border); color: var(--color-ink);
}
.at-glance__jump a:hover { border-color: var(--color-primary); color: var(--color-primary); text-decoration: none; }

/* jump link par pahunchne par heading header ke neeche na chhupe */
.tab-panel, .faq-block { scroll-margin-top: 90px; }

@media (max-width: 720px) {
    .at-glance { padding: 15px 15px 13px; }
    .at-glance__row { grid-template-columns: 1fr; gap: 2px; padding: 8px 0; }
    .at-glance__row dt { font-size: 13px; }
    .at-glance__row dd { font-size: 14.5px; }
}

/* =========================================================
   पाठक की राय, टिप्पणियाँ और पॉपअप
   ========================================================= */
.fb { margin: 38px 0 10px; }

/* ---- अंगूठा ---- */
.fb__rate {
    display: flex; flex-wrap: wrap; align-items: center; gap: 16px;
    justify-content: space-between;
    background: #f7f9fa; border: 1px solid var(--color-border);
    border-radius: 12px; padding: 16px 20px;
}
.fb__rate-left { min-width: 0; }
.fb__q { margin: 0; font-weight: 700; font-size: 16px; color: var(--color-ink); }
.fb__sub { margin: 3px 0 0; font-size: 13.5px; color: var(--color-ink-soft); }
.fb__btns { display: flex; gap: 10px; flex: none; }
.fb__btn {
    display: inline-flex; align-items: center; gap: 7px;
    padding: 9px 20px; border-radius: 999px; cursor: pointer;
    background: #fff; border: 1.5px solid var(--color-border);
    font-size: 15px; font-weight: 600; color: var(--color-ink); font-family: inherit;
    transition: border-color .15s, color .15s;
}
.fb__btn--yes:hover { border-color: #12b76a; color: #027a48; }
.fb__btn--no:hover  { border-color: #f04438; color: #b42318; }
.fb__thanks {
    margin: 12px 0 0; padding: 13px 16px; background: #e6f4ec;
    border: 1px solid #a8d5bd; border-radius: 10px;
    font-size: 15px; font-weight: 600; color: #0b5d3b; line-height: 1.6;
}

/* ---- लिखने का बॉक्स ---- */
.fb__write {
    margin-top: 26px; padding-top: 26px;
    border-top: 2px solid var(--color-border);
}
.fb__head {
    margin: 0 0 6px; font-size: 21px; display: flex; align-items: center; gap: 10px;
    scroll-margin-top: 90px;
}
.fb__count {
    background: var(--color-primary); color: #fff; border-radius: 999px;
    font-size: 13px; font-weight: 700; padding: 2px 11px; line-height: 1.6;
}
.fb__head-note { margin: 0 0 16px; font-size: 15px; color: var(--color-ink-soft); line-height: 1.65; }

.fb__form textarea,
.fb__form input[type="text"],
.fb__form input[type="email"] {
    width: 100%; padding: 12px 14px;
    border: 1.5px solid var(--color-border); border-radius: 10px;
    font-family: inherit; font-size: 15.5px; line-height: 1.6;
    background: #fff; color: var(--color-ink);
}
.fb__form textarea { margin-bottom: 14px; resize: vertical; min-height: 104px; }
.fb__form textarea:focus,
.fb__form input:focus { outline: none; border-color: var(--color-primary); }

.fb__row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-bottom: 14px; }
.fb__field { min-width: 0; }
.fb__field label { display: block; font-size: 14px; font-weight: 600; margin-bottom: 6px; }
.fb__req { color: #d92d20; }
.fb__hint { display: block; margin-top: 5px; font-size: 12.5px; color: var(--color-ink-soft); }

.fb__check { display: flex; gap: 10px; align-items: flex-start; margin-bottom: 18px; font-size: 14.5px; line-height: 1.6; }
.fb__check input { margin-top: 3px; flex: none; width: 17px; height: 17px; }

.fb__hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.fb__actions { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.fb__privacy { font-size: 13px; color: var(--color-ink-soft); margin: 0; }
.fb__posted {
    margin: 0; padding: 15px 17px; background: #e6f4ec; border: 1px solid #a8d5bd;
    border-radius: 10px; font-size: 15.5px; font-weight: 600; color: #0b5d3b; line-height: 1.6;
}

/* ---- छपी हुई टिप्पणियाँ ---- */
.fb__list { margin-top: 30px; display: grid; gap: 16px; }
.cmt { background: #fff; border: 1px solid var(--color-border); border-radius: 12px; padding: 16px 18px; }
.cmt__head { display: flex; align-items: center; gap: 10px; margin-bottom: 9px; flex-wrap: wrap; }
.cmt__avatar {
    width: 34px; height: 34px; border-radius: 50%; flex: none;
    background: var(--color-primary); color: #fff;
    display: flex; align-items: center; justify-content: center;
    font-weight: 700; font-size: 16px;
}
.cmt__name { font-weight: 700; font-size: 15.5px; color: var(--color-ink); }
.cmt__when { font-size: 12.5px; color: var(--color-ink-soft); margin-left: auto; }
.cmt__body { margin: 0; font-size: 15.5px; line-height: 1.75; color: var(--color-ink); overflow-wrap: anywhere; }
.cmt__reply {
    margin-top: 13px; padding: 12px 15px; background: #f7f9fa;
    border-left: 3px solid var(--color-primary); border-radius: 0 9px 9px 0;
}
.cmt__reply-who { display: block; font-size: 12.5px; font-weight: 700; color: var(--color-primary); margin-bottom: 5px; }
.cmt__reply p { margin: 0; font-size: 15px; line-height: 1.7; color: var(--color-ink-soft); }

@media (max-width: 720px) {
    .fb__rate { padding: 15px 16px; }
    .fb__btns { width: 100%; }
    .fb__btns .fb__btn { flex: 1; justify-content: center; }
    .fb__row { grid-template-columns: 1fr; }
    .fb__actions .btn { width: 100%; }
    .fb__head { font-size: 19px; }
}

/* =========================================================
   दो मिनट बाद वाला पॉपअप
   -----------------------------------------------------------------
   Page kholte hi nahi dikhta - Google ise "intrusive interstitial"
   kehta hai aur mobile ranking girati hai. Yahan do minute padhne
   aur aadha page scroll karne ke baad hi aata hai.
   ========================================================= */
.rp {
    position: fixed; inset: 0; z-index: 300;
    display: flex; align-items: center; justify-content: center;
    padding: 20px; background: rgba(12, 28, 20, .45);
    opacity: 0; transition: opacity .22s ease;
}
.rp.is-in { opacity: 1; }
.rp__card {
    position: relative; width: 100%; max-width: 440px;
    background: #fff; border-radius: 16px; padding: 28px 26px 22px;
    box-shadow: 0 24px 60px rgba(10, 25, 18, .32);
    transform: translateY(16px) scale(.97);
    transition: transform .25s cubic-bezier(.2,.8,.3,1.1);
}
.rp.is-in .rp__card { transform: none; }
.rp__close {
    position: absolute; top: 10px; right: 12px;
    background: none; border: 0; cursor: pointer;
    font-size: 28px; line-height: 1; color: var(--color-ink-soft); padding: 4px 8px;
}
.rp__close:hover { color: var(--color-ink); }
.rp__kicker { margin: 0 0 6px; font-size: 13.5px; color: var(--color-ink-soft); }
.rp__title { margin: 0 0 10px; font-size: 21px; line-height: 1.4; }
.rp__text { margin: 0 0 18px; font-size: 15px; line-height: 1.7; color: var(--color-ink-soft); }
.rp__form { display: flex; gap: 10px; flex-wrap: wrap; }
.rp__form input[type="email"] {
    flex: 1; min-width: 180px; padding: 12px 14px;
    border: 1.5px solid var(--color-border); border-radius: 10px;
    font-family: inherit; font-size: 15.5px;
}
.rp__form input[type="email"]:focus { outline: none; border-color: var(--color-primary); }
.rp__no { margin: 14px 0 0; text-align: center; }
.rp__link {
    background: none; border: 0; padding: 0; cursor: pointer; font: inherit;
    font-size: 14px; color: var(--color-ink-soft); text-decoration: underline;
}
.rp__msg {
    margin: 14px 0 0; padding: 12px 14px; background: #e6f4ec;
    border: 1px solid #a8d5bd; border-radius: 9px;
    font-size: 15px; font-weight: 600; color: #0b5d3b; line-height: 1.6;
}

@media (max-width: 560px) {
    /* phone par poora parda nahi - neeche se uthta hua card */
    .rp { align-items: flex-end; padding: 0; }
    .rp__card {
        max-width: none; border-radius: 16px 16px 0 0;
        padding: 24px 18px calc(20px + env(safe-area-inset-bottom, 0px));
    }
    .rp__form .btn { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
    .rp, .rp__card { transition: none; }
}

/* ---- आवेदन करें वाला बटन ---- */
.btn-apply { display: inline-flex; align-items: center; gap: 8px; }
.btn-apply__out { flex: none; opacity: .9; }
.apply-note { margin: 9px 0 0; font-size: 13px; color: var(--color-ink-soft); }

/* ---- report.php ---- */
.report-lead { font-size: 17px; line-height: 1.75; margin-bottom: 26px; }
.report-steps { display: grid; gap: 12px; margin: 0 0 22px; }
.report-step {
    display: flex; align-items: flex-start; gap: 14px;
    background: #fff; border: 1px solid var(--color-border);
    border-radius: 10px; padding: 14px 16px;
}
.report-step__n {
    flex: none; width: 30px; height: 30px; border-radius: 50%;
    background: var(--color-primary); color: #fff;
    display: flex; align-items: center; justify-content: center;
    font-weight: 700; font-size: 15px;
}
.report-step p { margin: 3px 0 0; font-size: 15.5px; line-height: 1.6; }
.report-assure {
    background: #e6f4ec; border: 1px solid #a8d5bd; border-radius: 10px;
    padding: 14px 16px; margin-bottom: 30px;
}
.report-assure p { margin: 0; font-size: 15px; line-height: 1.65; }

.faq-list details.faq-item { border-bottom: 1px solid var(--color-border); padding: 0; }
.faq-list details.faq-item summary {
    cursor: pointer; padding: 16px 0; font-weight: 700; font-size: 16.5px;
    line-height: 1.55; color: var(--color-ink); list-style: none;
}
.faq-list details.faq-item summary::-webkit-details-marker { display: none; }
.faq-list details.faq-item summary::before { content: "+ "; color: var(--color-primary); font-weight: 800; }
.faq-list details.faq-item[open] summary::before { content: "− "; }
.faq-item__body { padding-bottom: 16px; font-size: 15.5px; line-height: 1.75; color: var(--color-ink-soft); }
.faq-item__body ul { margin: 10px 0 10px 20px; }
.faq-item__body li { margin-bottom: 7px; }

/* =========== योजना के नीचे वाले tag ===========
   Pehle ye upar header me the. Mobile par 2-3 pankti ghar le lete the
   aur naam/aakhiri tarikh/"आवेदन करें" neeche khisak jate the. Neeche
   inka kaam bhi behtar hai - padh chukne ke baad "aur kya dekhein". */
.scheme-tags {
    margin: 26px 0 0;
    padding: 18px 20px;
    background: var(--color-bg);
    border: 1px solid var(--color-border);
    border-radius: 12px;
}
.scheme-tags__title {
    font-size: 15px; font-weight: 700; margin: 0 0 12px; color: var(--color-ink);
}
.scheme-tags__list { display: flex; flex-wrap: wrap; gap: 8px; }
.tag-chip--link {
    background: #fff; text-decoration: none; display: inline-block;
    transition: border-color .15s ease, color .15s ease;
}
.tag-chip--link:hover,
.tag-chip--link:focus-visible {
    border-color: var(--color-primary);
    color: var(--color-primary);
    text-decoration: none;
}
@media (max-width: 600px) {
    .scheme-tags { padding: 16px; margin-top: 22px; }
    .tag-chip--link { padding: 6px 13px; font-size: 13px; }   /* ungli se dabane layak */
}

/* =========================================================
   v48 — Blog ke panne par bagal wali patti aur "is lekh ki
   yojana" wala hissa.
   Patti wahi .detail-layout/.sidebar-box istemal karti hai jo
   yojana ke panne par hai, taaki dono panne ek jaise lagein.
   ========================================================= */
.blog-side { position: sticky; top: 16px; }

.side-scheme {
    display: block; padding: 12px 0; border-top: 1px solid var(--color-border);
    text-decoration: none; color: inherit;
}
.blog-side__main .side-scheme:first-of-type { border-top: 0; padding-top: 0; }
.side-scheme__t { display: block; font-weight: 600; font-size: 14.5px; line-height: 1.5; color: var(--color-primary-dark); }
.side-scheme__d { display: block; font-size: 13px; color: var(--color-text-soft); margin-top: 3px; line-height: 1.55; }
.side-scheme__go { display: block; font-size: 12.5px; font-weight: 600; color: var(--color-accent-dark); margin-top: 6px; }
.side-scheme:hover .side-scheme__t { text-decoration: underline; }

.side-search { display: flex; gap: 8px; }
.side-search input {
    flex: 1; min-width: 0; padding: 9px 11px; font-size: 14px;
    border: 1px solid var(--color-border); border-radius: 8px;
}

.side-cats { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.side-cats a {
    display: inline-block; font-size: 13px; padding: 6px 11px; border-radius: 999px;
    background: var(--color-bg-soft, #f1f5f2); color: var(--color-primary-dark); text-decoration: none;
}
.side-cats a:hover { background: var(--color-primary); color: #fff; }

.side-posts { list-style: none; margin: 0; padding: 0; }
.side-posts li { padding: 9px 0; border-top: 1px solid var(--color-border); }
.side-posts li:first-child { border-top: 0; padding-top: 0; }
.side-posts a { font-size: 14px; line-height: 1.55; font-weight: 500; }
.side-posts span { display: block; font-size: 12px; color: var(--color-text-soft); margin-top: 2px; }
.side-more { margin: 12px 0 0; font-size: 13.5px; font-weight: 600; }

/* lekh ke neeche - mobile par yahi sabse kaam ka hissa hai */
.post-schemes { margin-top: 30px; }
.post-schemes h2 { font-size: 20px; margin-bottom: 4px; }
.post-schemes__note { color: var(--color-text-soft); font-size: 14px; margin: 0 0 16px; }
.post-schemes__grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; }
.post-scheme {
    display: block; background: #fff; border: 1px solid var(--color-border);
    border-left: 4px solid var(--color-accent); border-radius: var(--radius);
    padding: 15px 16px; text-decoration: none; color: inherit;
}
.post-scheme:hover { border-color: var(--color-primary); }
.post-scheme__t { display: block; font-weight: 700; font-size: 15.5px; line-height: 1.5; color: var(--color-primary-dark); }
.post-scheme__dep { display: block; font-size: 12.5px; color: var(--color-text-soft); margin-top: 3px; }
.post-scheme__d { display: block; font-size: 13.5px; color: var(--color-text-soft); margin-top: 7px; line-height: 1.6; }
.post-scheme__go { display: block; font-size: 13px; font-weight: 600; color: var(--color-accent-dark); margin-top: 9px; }

/* Ek hi cheez do jagah na dikhe:
   - badi screen par bagal wali patti me (padhte waqt saath chalti rehti hai)
   - chhoti screen par lekh ke neeche bade card me (patti wahan vaise bhi
     neeche chali jati hai)  */
@media (min-width: 981px) {
    .post-schemes { display: none; }
}
@media (max-width: 980px) {
    .blog-side { position: static; }
    .blog-side__main { display: none; }
    .post-schemes__grid { grid-template-columns: 1fr; }
}
