/*
 * "Professional" news portal theme — built in the register of a national news
 * app: high-contrast red/black masthead, a reel-style video row, a dense
 * trending rail, and on phones a fixed bottom tab bar so it opens like an
 * installed app rather than a scaled-down website.
 */
:root{
  --pf-red:#E30613;
  --pf-red-2:#B0040F;
  --pf-ink:#101010;
  --pf-ink-2:#2B2B2E;
  --pf-muted:#767A82;
  --pf-line:#EAEAEC;
  --pf-bg:#F7F7F8;
  --pf-gold:#F2A104;
}
*{box-sizing:border-box}
body{margin:0;background:var(--pf-bg);color:var(--pf-ink);font-family:'Noto Sans Devanagari','Plus Jakarta Sans',system-ui,sans-serif;
  font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.pf-wrap{width:min(1240px,95vw);margin-inline:auto}

/* ---------------------------------------------------------------- topbar */
.pf-top{background:#fff;border-bottom:3px solid var(--pf-red)}
.pf-top-in{display:flex;align-items:center;gap:1rem;padding:.6rem 0}
.pf-logo{display:flex;align-items:center;gap:.5rem;font-weight:900;font-size:1.55rem;letter-spacing:-.02em}
.pf-logo img{max-height:42px;width:auto}
.pf-live{display:inline-flex;align-items:center;gap:.35rem;background:var(--pf-ink);color:#fff;border-radius:5px;
  padding:.3rem .6rem;font-size:.72rem;font-weight:800;letter-spacing:.04em}
.pf-live i{width:7px;height:7px;border-radius:50%;background:var(--pf-red);animation:pfPulse 1.2s infinite}
@keyframes pfPulse{0%,100%{opacity:1;box-shadow:0 0 0 0 rgba(227,6,19,.5)}50%{opacity:.5;box-shadow:0 0 0 5px rgba(227,6,19,0)}}
.pf-top-right{margin-left:auto;display:flex;align-items:center;gap:.5rem}
.pf-search{display:flex;align-items:center;background:var(--pf-bg);border-radius:999px;padding:.35rem .8rem}
.pf-search input{border:0;background:transparent;outline:0;font:inherit;font-size:.86rem;width:140px}
.pf-epaper{background:var(--pf-red);color:#fff;border-radius:6px;padding:.5rem 1rem;font-size:.84rem;font-weight:800}

.pf-nav{background:var(--pf-ink);position:sticky;top:0;z-index:60}
.pf-nav-in{display:flex;overflow-x:auto;scrollbar-width:none}
.pf-nav-in::-webkit-scrollbar{display:none}
.pf-nav a{color:rgba(255,255,255,.78);font-weight:700;font-size:.9rem;padding:.75rem 1rem;white-space:nowrap;
  border-bottom:3px solid transparent}
.pf-nav a.on,.pf-nav a:hover{color:#fff;border-bottom-color:var(--sec,var(--pf-red))}
.pf-burger{display:none;background:transparent;border:0;color:#fff;font-size:1.3rem;padding:.5rem .8rem}

.pf-ticker{background:var(--pf-red);color:#fff;display:flex;align-items:stretch;overflow:hidden}
.pf-ticker .tag{background:var(--pf-ink);font-weight:900;font-size:.78rem;letter-spacing:.06em;padding:.5rem .9rem;
  display:flex;align-items:center;gap:.35rem;flex:none}
.pf-ticker .rail{flex:1;overflow:hidden}
.pf-ticker .move{display:flex;gap:2.4rem;white-space:nowrap;padding:.5rem 1rem;font-size:.88rem;font-weight:700;
  animation:pfSlide 40s linear infinite}
.pf-ticker .move:hover{animation-play-state:paused}
@keyframes pfSlide{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* --------------------------------------------------------------- layout */
.pf-main{padding:1rem 0 2.4rem}
.pf-cols{display:grid;grid-template-columns:1fr 300px;gap:1.4rem;align-items:start}
@media(max-width:1000px){.pf-cols{grid-template-columns:1fr}}

.pf-hero{display:grid;grid-template-columns:1.5fr 1fr;gap:.9rem;margin-bottom:1.4rem}
.pf-hero .side{display:grid;grid-template-rows:repeat(3,1fr);gap:.6rem}
@media(max-width:760px){.pf-hero{grid-template-columns:1fr}.pf-hero .side{grid-template-rows:none}}

.pf-card{background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 1px 2px rgba(0,0,0,.04);
  transition:transform .18s ease,box-shadow .18s ease}
.pf-card:hover{transform:translateY(-2px);box-shadow:0 16px 34px -18px rgba(0,0,0,.35)}
.pf-card .shot{position:relative;overflow:hidden;background:#E7E7E9}
.pf-card .shot img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.pf-card:hover .shot img{transform:scale(1.05)}
.pf-card .kicker{position:absolute;left:.55rem;top:.55rem;background:var(--sec,var(--pf-red));color:#fff;
  font-size:.66rem;font-weight:900;letter-spacing:.05em;padding:.22rem .55rem;border-radius:3px;text-transform:uppercase}
.pf-card .play span{width:50px;height:50px;border-radius:50%;background:rgba(227,6,19,.9);color:#fff;
  display:flex;align-items:center;justify-content:center;font-size:1.3rem}
.pf-card .play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}
.pf-card .txt{padding:.7rem .8rem .85rem}
.pf-card h3{font-weight:800;line-height:1.3;margin:0 0 .3rem;letter-spacing:-.01em;font-size:1rem}
.pf-card p{margin:0;color:var(--pf-muted);font-size:.85rem}
.pf-card .meta{display:flex;gap:.55rem;margin-top:.4rem;font-size:.72rem;color:var(--pf-muted)}
.pf-hero .pf-hero-card .shot{aspect-ratio:16/10}
.pf-hero .pf-hero-card h3{font-size:clamp(1.3rem,2.3vw,1.7rem)}
.pf-mini{display:grid;grid-template-columns:92px 1fr;gap:.55rem}
.pf-mini .shot{aspect-ratio:1}
.pf-mini h3{font-size:.88rem}

/* reel-style video row — the vertical-card scroller phones expect */
.pf-reels{margin-bottom:1.6rem}
.pf-reels .head{display:flex;align-items:center;gap:.6rem;margin-bottom:.7rem}
.pf-reels h2{font-size:1.05rem;font-weight:900;margin:0;padding-left:.6rem;border-left:5px solid var(--pf-red)}
.pf-reels .head a{margin-left:auto;font-size:.8rem;font-weight:800;color:var(--pf-red)}
.pf-reels .row{display:flex;gap:.7rem;overflow-x:auto;padding-bottom:.3rem;scrollbar-width:none}
.pf-reels .row::-webkit-scrollbar{display:none}
.pf-reel{flex:0 0 130px;border-radius:12px;overflow:hidden;position:relative;aspect-ratio:9/16;background:#111}
.pf-reel img{width:100%;height:100%;object-fit:cover;opacity:.88}
.pf-reel .play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}
.pf-reel .play span{width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.92);color:var(--pf-red);
  display:flex;align-items:center;justify-content:center;font-size:.95rem}
.pf-reel .cap{position:absolute;left:0;right:0;bottom:0;padding:.5rem;background:linear-gradient(0deg,rgba(0,0,0,.85),transparent);
  color:#fff;font-size:.76rem;font-weight:700;line-height:1.3}

/* category chip row */
.pf-chips{display:flex;gap:.5rem;overflow-x:auto;padding-bottom:.5rem;margin-bottom:1rem;scrollbar-width:none}
.pf-chips::-webkit-scrollbar{display:none}
.pf-chips a{flex:none;background:#fff;border:1px solid var(--pf-line);border-radius:999px;padding:.4rem 1rem;
  font-size:.82rem;font-weight:700;color:var(--pf-ink-2)}
.pf-chips a.on{background:var(--pf-ink);color:#fff;border-color:var(--pf-ink)}

.pf-sec{margin-bottom:1.8rem}
.pf-sec-head{display:flex;align-items:center;gap:.7rem;margin-bottom:.8rem}
.pf-sec-head h2{font-size:1.15rem;font-weight:900;margin:0;padding-left:.6rem;border-left:5px solid var(--sec,var(--pf-red))}
.pf-sec-head a{margin-left:auto;font-size:.8rem;font-weight:800;color:var(--sec,var(--pf-red))}
.pf-row{display:grid;grid-template-columns:repeat(3,1fr);gap:.9rem}
@media(max-width:820px){.pf-row{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.pf-row{grid-template-columns:1fr}}

/* right rail */
.pf-rail{position:sticky;top:110px;display:grid;gap:1.1rem}
.pf-box{background:#fff;border-radius:10px;overflow:hidden}
.pf-box h4{font-size:.92rem;font-weight:900;margin:0;padding:.7rem .85rem;background:var(--pf-ink);color:#fff}
.pf-rank{list-style:none;margin:0;padding:0}
.pf-rank li{display:flex;gap:.7rem;padding:.65rem .85rem;border-bottom:1px solid var(--pf-line)}
.pf-rank li:last-child{border-bottom:0}
.pf-rank .n{font-size:1.5rem;font-weight:900;color:var(--pf-red);line-height:1;min-width:1.5rem;font-style:italic}
.pf-rank h5{margin:0;font-size:.86rem;font-weight:700;line-height:1.4}

/* ------------------------------------------------------------- article */
.pf-article{background:#fff;border-radius:10px;overflow:hidden}
.pf-article .inner{padding:clamp(1rem,2.6vw,2rem)}
.pf-crumb{font-size:.78rem;color:var(--pf-muted);margin-bottom:.6rem}
.pf-crumb a{color:var(--pf-red);font-weight:700}
.pf-article h1{font-size:clamp(1.5rem,3.2vw,2.3rem);font-weight:900;line-height:1.22;letter-spacing:-.02em;margin:0 0 .6rem}
.pf-article .stand{font-size:1.04rem;color:var(--pf-ink-2);margin:0 0 1rem}
.pf-byline{display:flex;flex-wrap:wrap;align-items:center;gap:.7rem;padding:.7rem 0;border-top:1px solid var(--pf-line);
  border-bottom:1px solid var(--pf-line);font-size:.8rem;color:var(--pf-muted);margin-bottom:1.1rem}
.pf-share{display:flex;gap:.4rem;margin-left:auto}
.pf-share a{width:32px;height:32px;border-radius:50%;background:var(--pf-bg);color:var(--pf-ink-2);
  display:flex;align-items:center;justify-content:center;font-size:.9rem}
.pf-share a:hover{background:var(--pf-red);color:#fff}
.pf-figure{margin:0 0 1.1rem}
.pf-figure img{width:100%;border-radius:8px}
.pf-figure figcaption{font-size:.78rem;color:var(--pf-muted);padding-top:.4rem}
.pf-body{font-size:1.05rem;line-height:1.85}
.pf-body p{margin:0 0 1.1rem}
.pf-body blockquote{margin:1.4rem 0;padding:.2rem 0 .2rem 1.1rem;border-left:4px solid var(--pf-red);
  font-size:1.1rem;font-weight:700}
.pf-tags{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:1.5rem}
.pf-tags a{background:var(--pf-bg);border-radius:999px;padding:.3rem .8rem;font-size:.8rem;font-weight:700}
.pf-tags a:hover{background:var(--pf-ink);color:#fff}

.pf-foot{background:var(--pf-ink);color:rgba(255,255,255,.72);padding:2rem 0 1.2rem;margin-top:2rem}
.pf-foot h5{color:#fff;font-size:.9rem;margin:0 0 .6rem}
.pf-foot-grid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:1.6rem}
@media(max-width:820px){.pf-foot-grid{grid-template-columns:1fr 1fr}}
.pf-foot a{color:rgba(255,255,255,.72);font-size:.86rem;display:block;padding:.15rem 0}
.pf-foot .base{border-top:1px solid rgba(255,255,255,.12);margin-top:1.4rem;padding-top:1rem;font-size:.78rem;
  display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between}

/* App tab bar: hidden by default, shown only on phones inside the media
 * query below. Without this, the nav's plain <a> tags render as unstyled
 * links in normal page flow on every screen size — the bug this fixes. */
.pf-tabs{display:none}

/* ===================================================== mobile app feel */
@media(max-width:760px){
  .pf-burger{display:block}
  .pf-nav-in{display:none}
  .pf-nav-in.open{display:flex;flex-direction:column;align-items:stretch;max-height:70vh;overflow-y:auto}
  .pf-date,.pf-search{display:none}
  .pf-logo{font-size:1.2rem}
  .pf-rail{position:static}

  body{padding-bottom:calc(58px + env(safe-area-inset-bottom))}

  /* fixed bottom app bar */
  .pf-tabs{
    position:fixed;left:0;right:0;bottom:0;z-index:70;display:flex;
    background:#fff;border-top:1px solid var(--pf-line);
    padding:.3rem .2rem calc(.3rem + env(safe-area-inset-bottom));
    box-shadow:0 -6px 20px rgba(0,0,0,.06);
  }
  .pf-tabs a{
    flex:1;display:flex;flex-direction:column;align-items:center;gap:.15rem;
    padding:.4rem .2rem;color:var(--pf-muted);font-size:.65rem;font-weight:800;
  }
  .pf-tabs a i{font-size:1.25rem}
  .pf-tabs a.on{color:var(--pf-red)}
  .pf-tabs .mid i{
    background:var(--pf-red);color:#fff;width:44px;height:44px;border-radius:50%;
    display:flex;align-items:center;justify-content:center;font-size:1.2rem;
    box-shadow:0 8px 18px -6px rgba(227,6,19,.7);margin-top:-1.3rem;
  }

  .pf-hero .pf-hero-card .shot{aspect-ratio:16/11}
  .pf-card h3{font-size:.94rem}
  .pf-reel{flex:0 0 112px}
}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
