/* Birsavani — Core Stylesheet */
:root{
  --ink:#0f1b2d;            /* deep ink navy */
  --ink-2:#1c2b45;
  --vermilion:#c62828;      /* breaking / highlight */
  --vermilion-dark:#8e1c1c;
  --saffron:#f39c12;        /* secondary accent */
  --paper:#fafaf7;          /* warm white */
  --card:#ffffff;
  --muted:#5b6472;
  --line:#e4e6ea;
  --line-2:#eef0f3;
  --ok:#1f7a3a;
  --warn:#b7791f;
  --info:#1d5f9e;

  --font-hi:"Noto Sans Devanagari","Mangal",system-ui,sans-serif;
  --font-en:"Inter","Segoe UI",system-ui,sans-serif;

  --sp-1:4px; --sp-2:8px; --sp-3:12px; --sp-4:16px; --sp-5:24px; --sp-6:32px; --sp-7:48px;
  --radius:6px; --radius-lg:10px;
  --shadow:0 1px 2px rgba(15,27,45,.06), 0 4px 12px rgba(15,27,45,.05);
  --shadow-2:0 4px 16px rgba(15,27,45,.10);
  --wrap:1240px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family:var(--font-hi);
  background:var(--paper);
  color:var(--ink);
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none}
a:hover{color:var(--vermilion)}
img{max-width:100%;display:block}
button{font-family:inherit;cursor:pointer}

.wrap{max-width:var(--wrap);margin:0 auto;padding:0 16px}
.hr{border:0;border-top:1px solid var(--line);margin:var(--sp-5) 0}

/* Utility bar */
.util{background:var(--ink);color:#cfd6e2;font-size:12.5px;font-family:var(--font-en)}
.util .wrap{display:flex;justify-content:space-between;align-items:center;height:34px;gap:12px}
.util a{color:#cfd6e2;margin-left:12px}
.util .left{display:flex;gap:16px;align-items:center;white-space:nowrap;overflow:hidden}

/* Header */
.hdr{background:var(--card);border-bottom:1px solid var(--line)}
.hdr .wrap{display:flex;align-items:center;gap:var(--sp-5);padding:14px 16px}
.brand{display:flex;align-items:center;gap:12px}
.brand .logo{width:46px;height:46px;flex:none}
.brand h1{margin:0;font-size:28px;line-height:1;letter-spacing:.3px;color:var(--ink)}
.brand .tag{font-family:var(--font-en);font-size:11.5px;color:var(--muted);letter-spacing:.6px;text-transform:uppercase;margin-top:3px}
.hdr .search{flex:1;max-width:520px;margin-left:auto;position:relative}
.hdr .search input{
  width:100%;padding:10px 40px 10px 14px;border:1px solid var(--line);
  border-radius:var(--radius);font-family:var(--font-hi);font-size:14px;background:var(--paper);
}
.hdr .search button{
  position:absolute;right:4px;top:4px;bottom:4px;width:34px;border:0;border-radius:4px;
  background:var(--vermilion);color:#fff;
}
.hdr .menu-btn{display:none;background:none;border:1px solid var(--line);border-radius:var(--radius);padding:8px 10px;font-size:20px;line-height:1}

/* Primary nav */
.nav{background:var(--ink);position:sticky;top:0;z-index:50}
.nav ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:2px}
.nav a{color:#e7ebf2;display:block;padding:12px 14px;font-size:14.5px;border-bottom:3px solid transparent}
.nav a:hover,.nav a.active{color:#fff;background:var(--ink-2);border-bottom-color:var(--saffron)}

/* Ticker */
.ticker{background:var(--vermilion);color:#fff}
.ticker .wrap{display:flex;align-items:center;gap:12px;height:40px;overflow:hidden}
.ticker .label{background:#fff;color:var(--vermilion);font-weight:700;font-size:12.5px;padding:4px 10px;border-radius:3px;flex:none;letter-spacing:.5px}
.ticker .items{overflow:hidden;white-space:nowrap;flex:1}
.ticker .items a{color:#fff;font-weight:600;display:inline-block;padding-right:60px}
.ticker .items a::after{content:"●";color:rgba(255,255,255,.6);margin-left:60px;font-size:10px;vertical-align:middle}

/* State selector */
.state-bar{background:var(--card);border-bottom:1px solid var(--line)}
.state-bar .wrap{display:flex;gap:10px;padding:12px 16px;flex-wrap:wrap}
.state-bar button{
  border:1px solid var(--line);background:var(--paper);padding:8px 16px;border-radius:999px;
  font-family:var(--font-hi);font-size:14px;color:var(--ink);
}
.state-bar button.active{background:var(--ink);color:#fff;border-color:var(--ink)}
.state-bar button:hover{border-color:var(--ink)}

/* Section headers */
.sect{margin:var(--sp-6) 0}
.sect-h{display:flex;justify-content:space-between;align-items:flex-end;border-bottom:2px solid var(--ink);padding-bottom:8px;margin-bottom:var(--sp-4)}
.sect-h h2{margin:0;font-size:20px;letter-spacing:.2px}
.sect-h h2::before{content:"";display:inline-block;width:6px;height:18px;background:var(--vermilion);margin-right:10px;vertical-align:-3px;border-radius:2px}
.sect-h .more{font-family:var(--font-en);font-size:12.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.6px}
.sect-h .more:hover{color:var(--vermilion)}

/* Grids */
.grid{display:grid;gap:var(--sp-4)}
.grid-lead{grid-template-columns:1.6fr 1fr}
.grid-3{grid-template-columns:repeat(3,1fr)}
.grid-4{grid-template-columns:repeat(4,1fr)}
.grid-2{grid-template-columns:repeat(2,1fr)}

/* Card */
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:box-shadow .15s,transform .15s}
.card:hover{box-shadow:var(--shadow-2);transform:translateY(-2px)}
.card .thumb{aspect-ratio:16/9;background:var(--line-2);overflow:hidden}
.card .thumb img{width:100%;height:100%;object-fit:cover}
.card .body{padding:12px 14px}
.card .meta{display:flex;gap:8px;font-family:var(--font-en);font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px;flex-wrap:wrap}
.card .meta .cat{color:var(--vermilion);font-weight:700}
.card h3{margin:0 0 6px;font-size:16.5px;line-height:1.35}
.card p{margin:0;font-size:13.5px;color:var(--muted);line-height:1.55}
.card .foot{margin-top:10px;font-family:var(--font-en);font-size:11.5px;color:var(--muted);display:flex;justify-content:space-between;gap:8px}

/* Lead card */
.lead .thumb{aspect-ratio:16/9}
.lead h3{font-size:26px;line-height:1.25}
.lead p{font-size:15px;color:#3c4657}

/* Compact list */
.list{display:grid;gap:0}
.list .item{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid var(--line-2)}
.list .item:last-child{border-bottom:0}
.list .item .num{font-family:var(--font-en);font-size:22px;font-weight:800;color:var(--vermilion);flex:none;min-width:26px;line-height:1}
.list .item h4{margin:0 0 4px;font-size:15.5px;line-height:1.35}
.list .item .sm{font-family:var(--font-en);font-size:11.5px;color:var(--muted)}

/* Chips */
.chips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:var(--sp-4)}
.chip{
  border:1px solid var(--line);background:var(--card);padding:6px 12px;border-radius:999px;
  font-family:var(--font-hi);font-size:13px;color:var(--ink);
}
.chip.active{background:var(--vermilion);color:#fff;border-color:var(--vermilion)}

/* Article page */
.article-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:var(--sp-6);margin:var(--sp-6) 0}
.article{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:28px 32px}
.crumbs{font-family:var(--font-en);font-size:12px;color:var(--muted);margin-bottom:12px}
.crumbs a:hover{color:var(--vermilion)}
.article h1{font-size:34px;line-height:1.25;margin:6px 0 12px}
.article .lede{font-size:18px;color:#3c4657;margin:0 0 18px;line-height:1.6}
.byline{display:flex;flex-wrap:wrap;gap:14px;align-items:center;color:var(--muted);font-size:13px;padding-bottom:16px;border-bottom:1px solid var(--line)}
.byline strong{color:var(--ink);font-weight:600}
.hero-img{margin:20px -32px 0;background:#000}
.hero-img img{width:100%;max-height:520px;object-fit:cover}
.hero-img figcaption{background:var(--paper);color:var(--muted);font-size:12.5px;padding:8px 32px;border-bottom:1px solid var(--line);font-family:var(--font-en)}
.article-body{font-size:17.5px;line-height:1.85;color:#1f2733;margin-top:24px}
.article-body p{margin:0 0 18px}
.article-body h2{font-size:22px;margin:28px 0 12px}
.article-body h3{font-size:19px;margin:22px 0 10px}
.article-body blockquote{border-left:4px solid var(--vermilion);margin:20px 0;padding:6px 18px;background:var(--paper);font-style:italic;color:#3c4657}
.share{display:flex;gap:8px;margin-top:28px;padding-top:20px;border-top:1px solid var(--line);flex-wrap:wrap}
.share button,.share a{border:1px solid var(--line);background:var(--card);padding:8px 14px;border-radius:var(--radius);font-size:13px;color:var(--ink)}
.share button:hover{border-color:var(--ink)}
.tags{margin-top:16px;display:flex;gap:8px;flex-wrap:wrap}
.tag{background:var(--paper);border:1px solid var(--line);padding:4px 10px;border-radius:999px;font-size:12px;color:var(--muted)}

/* Sidebar */
.sidebar{display:grid;gap:var(--sp-5);align-content:start}
.sb-box{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:16px}
.sb-box h3{margin:0 0 12px;font-size:15px;text-transform:uppercase;letter-spacing:.6px;font-family:var(--font-en);color:var(--muted);border-bottom:1px solid var(--line);padding-bottom:8px}

/* Gallery */
.gal{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.gal a{position:relative;display:block;aspect-ratio:1;overflow:hidden;border-radius:var(--radius)}
.gal img{width:100%;height:100%;object-fit:cover;transition:transform .3s}
.gal a:hover img{transform:scale(1.05)}
.gal a .cap{position:absolute;left:0;right:0;bottom:0;background:linear-gradient(transparent,rgba(0,0,0,.85));color:#fff;padding:22px 10px 8px;font-size:12px}

/* Video */
.video-lead{position:relative;aspect-ratio:16/9;background:#000;border-radius:var(--radius);overflow:hidden}
.video-lead img{width:100%;height:100%;object-fit:cover;opacity:.85}
.video-lead .play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}
.video-lead .play span{width:70px;height:70px;background:rgba(198,40,40,.95);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:26px;padding-left:6px}
.video-lead .info{position:absolute;left:0;right:0;bottom:0;padding:18px;background:linear-gradient(transparent,rgba(0,0,0,.85));color:#fff}
.video-lead .info h3{margin:0 0 4px;font-size:20px}
.video-lead .info .m{font-size:12px;opacity:.85;font-family:var(--font-en)}
.video-card{position:relative;background:#000;aspect-ratio:16/9;border-radius:var(--radius);overflow:hidden;cursor:pointer}
.video-card img{width:100%;height:100%;object-fit:cover;opacity:.85}
.video-card .t{position:absolute;left:0;right:0;bottom:0;padding:12px;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.8));font-size:13.5px;font-weight:600;line-height:1.35}
.video-card .dur{position:absolute;right:8px;top:8px;background:rgba(0,0,0,.75);color:#fff;font-size:11px;padding:2px 6px;border-radius:3px;font-family:var(--font-en)}

/* Advertisement slots */
.ad-slot{
  display:flex;align-items:center;justify-content:center;
  border:1px dashed var(--line);background:var(--paper);color:var(--muted);
  font-family:var(--font-en);font-size:12px;letter-spacing:.5px;text-transform:uppercase;
  min-height:90px;border-radius:var(--radius);text-align:center;padding:12px;
  margin:var(--sp-5) 0;
}
.ad-slot.tall{min-height:250px}
.ad-slot a{color:inherit}
.ad-slot .ad-img{max-width:100%;max-height:240px;object-fit:contain}
.ad-slot.has-ad{border-style:solid;background:var(--card);padding:0}

/* Footer */
.ft{background:var(--ink);color:#c9d1de;margin-top:var(--sp-7);padding:36px 0 20px;font-size:14px}
.ft .wrap{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:32px}
.ft h4{color:#fff;font-size:14px;text-transform:uppercase;letter-spacing:.8px;font-family:var(--font-en);margin:0 0 12px}
.ft ul{list-style:none;padding:0;margin:0}
.ft li{padding:4px 0}
.ft a{color:#c9d1de}
.ft a:hover{color:var(--saffron)}
.ft .copy{grid-column:1/-1;border-top:1px solid #22314d;margin-top:20px;padding-top:16px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-family:var(--font-en);font-size:12px;color:#8894a8}

/* Empty state */
.empty{text-align:center;padding:48px 16px;color:var(--muted);font-size:15px}
.empty h3{color:var(--ink);margin:0 0 6px}

/* Badge */
.badge{display:inline-block;font-family:var(--font-en);font-size:10.5px;padding:2px 8px;border-radius:3px;font-weight:600;letter-spacing:.4px;text-transform:uppercase}
.badge.breaking{background:var(--vermilion);color:#fff}
.badge.featured{background:var(--saffron);color:#1a1a1a}
.badge.draft{background:#e7e9ee;color:#4a5568}
.badge.published{background:#d8f0dd;color:var(--ok)}
.badge.scheduled{background:#dbe8f7;color:var(--info)}
.badge.archived{background:#efe3d2;color:var(--warn)}

/* Loading skeleton */
.skel{background:linear-gradient(90deg,#eef0f3 25%,#f6f7f9 50%,#eef0f3 75%);background-size:200% 100%;animation:skel 1.4s infinite;border-radius:var(--radius)}
@keyframes skel{0%{background-position:200% 0}100%{background-position:-200% 0}}

@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}