/* ==========================================================================
   Bharat Vistaar — brand theme layer (loaded after style.css + dynamic.css)
   Look: Indian news-channel — logo red / black / white, slanted label tabs that
   echo the logo's angled badge, sharp corners, heavy sans headlines.
   Colours still come from config/brand.php (Admin → Settings → Branding);
   this file only restyles shape, type and structure.
   ========================================================================== */

:root {
  /* palette (brand/btn/icon/menu come from brand.php via brand_theme_css()) */
  --bv-red:       #e00000;
  --bv-red-dark:  #a80000;
  --bv-red-deep:  #6b0000;
  --bv-ink:       #111316;
  --bv-slant:     14px;            /* how far the logo-style cut leans */

  --brand-soft:   #fdeaea;
  --accent:       #c40000;         /* body links */

  /* category colours: reds, blacks and one warm accent — no blue left */
  --cat-national: #e00000;
  --cat-politics: #17181c;
  --cat-business: #8f0000;
  --cat-sports:   #d97706;
  --cat-ent:      #b4005a;
  --cat-tech:     #3b3f46;
  --cat-world:    #5a0000;
  --cat-health:   #0f7a4a;

  /* sharper, broadcast-style corners */
  --r-sm: 2px;  --r-md: 4px;  --r-lg: 6px;

  /* headlines: heavy sans everywhere (was serif) */
  --f-serif: 'Mukta', 'Noto Sans Devanagari', system-ui, sans-serif;
  --f-head:  'Mukta', 'Noto Sans Devanagari', system-ui, sans-serif;
}

::selection { background: var(--bv-red); color: #fff; }

/* ---- header: clean white top row + white menu bar (news-portal style) ------ */
.tp-header { border-top: 0; border-bottom: 1px solid var(--border); }
.tp-top .wrap { min-height: 66px; }
.tp-edition .date { letter-spacing: .1px; }

.tp-nav { background: var(--surface); border-top: 0; border-bottom: 1px solid var(--border); box-shadow: none; }
.tp-menu > li > a { color: var(--heading, var(--ink)); font-weight: 600; font-size: 15.5px; padding: 14px 12px; transition: color .15s ease; }
.tp-menu > li > a:hover, .tp-menu > li > a.active { color: var(--bv-red); background: none; }
.tp-menu > li > a:hover::after, .tp-menu > li > a.active::after {
  content: ""; display: block; position: absolute; left: 12px; right: 12px; bottom: 0; height: 3px; background: var(--bv-red); border-radius: 2px 2px 0 0;
}
.tp-menu .drop { border-top: 3px solid var(--bv-red); border-radius: 0 0 var(--r-md) var(--r-md); }

/* buttons */
.tp-live, .tp-signin, .btn-live, .chip-btn { border-radius: var(--r-sm); font-weight: 700; letter-spacing: .2px; }
.tp-signin { background: var(--bv-ink); }
.tp-signin:hover { background: var(--bv-red); }

/* ---- section headings: slanted red tab + ink rule ----------------------- */
.n18-head { border-bottom: 3px solid var(--bv-ink); align-items: flex-end; }
.n18-head h2 {
  background: var(--bv-red); color: #fff; font-family: var(--f-head); font-weight: 800; font-size: 17px;
  letter-spacing: .2px; text-transform: none; padding: 7px calc(var(--bv-slant) + 18px) 7px 18px;
  clip-path: polygon(0 0, 100% 0, calc(100% - var(--bv-slant)) 100%, 0 100%);
}
.n18-head.plain { border-bottom: 3px solid var(--bv-ink); padding-bottom: 0; margin-bottom: 14px; align-items: flex-end; }
.n18-head.plain h2 {
  background: var(--bv-red); color: #fff; margin: 0; padding: 7px calc(var(--bv-slant) + 18px) 7px 18px;
  font-family: var(--f-head); font-weight: 800; font-size: 19px; letter-spacing: .1px; border-bottom: 0;
}
.n18-head.c-world h2, .n18-head.c-business h2, .n18-head.c-sports h2,
.n18-head.c-ent h2, .n18-head.c-tech h2 { color: #fff; }
.n18-head .vall { font-weight: 800; color: var(--bv-ink); padding-bottom: 8px; }
.n18-head .vall:hover { color: var(--bv-red); }
.band-dark .n18-head { border-bottom-color: var(--bv-red); }
.band-dark .n18-head .vall { color: #fff; }

.sec-title::before { background: var(--bv-red); border-radius: 0; transform: skewX(-12deg); }
.sec-title { font-weight: 800; }
.sec-more { color: var(--bv-ink); font-weight: 800; }
.sec-more:hover { color: var(--bv-red); }

/* ---- tags / chips: slanted like the logo -------------------------------- */
.tag, .dyn-tag {
  border-radius: 0; padding: 3px calc(var(--bv-slant) * .8 + 6px) 3px 9px; letter-spacing: .3px;
  clip-path: polygon(0 0, 100% 0, calc(100% - var(--bv-slant) * .7) 100%, 0 100%);
}
.tags-row a { border-radius: var(--r-sm); }

/* ---- cards: flat, red top edge on hover --------------------------------- */
.card, .dyn-card, .tv-card, .dyn-side-item { border-radius: var(--r-md); }
.card, .dyn-card { border-top: 3px solid transparent; transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease; }
.card:hover, .dyn-card:hover { border-top-color: var(--bv-red); box-shadow: 0 10px 24px -12px rgba(17,19,22,.35); }
.imgwrap, .dyn-card .thumb, .hero-main, .dyn-hero .lead .thumb { border-radius: var(--r-md); }

/* headlines: heavier, tighter */
.dyn-card h3, .card h3, .ws-feat h3, .dyn-hero .lead h2, .hero-main h2 { font-weight: 800; letter-spacing: -.1px; }
.dyn-card h3 a:hover, .card h3 a:hover, .ws-feat h3 a:hover, .ws-row h4 a:hover { color: var(--bv-red); }
.ws-row h4 { font-weight: 700; }

/* ---- forms ---------------------------------------------------------------- */
.header-search input, input[type="search"], input[type="text"], input[type="email"], textarea, select { border-radius: var(--r-sm); }
.header-search input:focus { border-color: var(--bv-red); box-shadow: 0 0 0 3px rgba(224,0,0,.15); }

/* ---- mobile ---------------------------------------------------------------- */
@media (max-width: 920px) {
  .n18-head h2, .n18-head.plain h2 { font-size: 16px; padding-top: 6px; padding-bottom: 6px; }
  .tp-header::before { width: 46%; }
}

/* ---- dark mode: keep the ink rules visible --------------------------------- */
[data-theme="dark"] .n18-head,
[data-theme="dark"] .n18-head.plain { border-bottom-color: var(--bv-red); }
[data-theme="dark"] .n18-head .vall,
[data-theme="dark"] .sec-more { color: #e7eaf0; }
[data-theme="dark"] .tp-header { border-top-color: #000; }
[data-theme="dark"] .card:hover, [data-theme="dark"] .dyn-card:hover { box-shadow: 0 10px 24px -12px rgba(0,0,0,.8); }

/* ==========================================================================
   Breaking-news ticker — dark bar under the menu, red slanted label, white headlines
   ========================================================================== */
.bv-breaking { background: #14171d; margin-bottom: 14px; }   /* edge to edge; the gap keeps the ad below it from touching the bar */
.bv-br-bar { display: flex; align-items: stretch; min-height: 44px; background: #14171d; overflow: hidden; }
.bv-br-label {
  flex-shrink: 0; display: inline-flex; align-items: center; gap: 9px; align-self: stretch;
  background: var(--bv-red); color: #fff; font-family: var(--f-head); font-weight: 800; font-style: italic; font-size: 16px; letter-spacing: .2px;
  padding: 0 calc(var(--bv-slant) + 18px) 0 16px; white-space: nowrap;
  clip-path: polygon(0 0, 100% 0, calc(100% - var(--bv-slant)) 100%, 0 100%);
}
.bv-br-dot { width: 9px; height: 9px; border-radius: 50%; background: #fff; box-shadow: 0 0 0 0 rgba(255,255,255,.7); animation: bv-pulse 1.4s ease-out infinite; }
@keyframes bv-pulse { 0% { box-shadow: 0 0 0 0 rgba(255,255,255,.7); } 100% { box-shadow: 0 0 0 9px rgba(255,255,255,0); } }
.bv-br-view {
  flex: 1; min-width: 0; overflow: hidden; display: flex; align-items: center;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 16px, #000 calc(100% - 28px), transparent);
          mask-image: linear-gradient(90deg, transparent, #000 16px, #000 calc(100% - 28px), transparent);
}
.bv-br-track { display: flex; width: max-content; animation: bv-marquee var(--bv-dur, 40s) linear infinite; }
.bv-br-set { display: flex; flex-shrink: 0; align-items: center; }
.bv-br-set a { display: inline-flex; align-items: center; white-space: nowrap; padding: 0 0 0 14px; font-family: var(--f-head); font-weight: 600; font-size: 15.5px; color: #fff; }
.bv-br-set a::after { content: ""; width: 7px; height: 7px; margin: 0 22px 0 22px; border-radius: 50%; background: #ff3b3b; }
.bv-br-set a:hover { color: #ffc2c2; }
.bv-br-plain { display: inline-flex; align-items: center; white-space: nowrap; padding-left: 14px; font-family: var(--f-head); font-weight: 600; font-size: 15.5px; color: #fff; }
.bv-br-plain::after { content: ""; width: 7px; height: 7px; margin: 0 22px; border-radius: 50%; background: #ff3b3b; }
.bv-breaking:hover .bv-br-track, .bv-breaking:focus-within .bv-br-track { animation-play-state: paused; }
@keyframes bv-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) {
  .bv-br-track { animation: none; }
  .bv-br-view { overflow-x: auto; scrollbar-width: none; }
  .bv-br-dot { animation: none; }
}
@media (max-width: 920px) {
  .bv-br-bar { min-height: 36px; }
  .bv-br-label { font-size: 13px; padding: 0 calc(var(--bv-slant) + 10px) 0 12px; gap: 6px; }
  .bv-br-dot { width: 7px; height: 7px; }
  .bv-br-set a { font-size: 13.5px; }
  .bv-br-set a::after { margin: 0 16px; }
}

/* ==========================================================================
   Trending topics (#hashtags) — fixed bar at the bottom of the screen (all pages)
   ========================================================================== */
.bv-topics-fixed {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 70;
  background: var(--surface); border-top: 3px solid var(--bv-red); box-shadow: 0 -8px 20px -12px rgba(0, 0, 0, .35);
}
.bv-tf-wrap { display: flex; align-items: stretch; min-height: 46px; }
.bv-topics-label {
  flex-shrink: 0; display: flex; align-items: center; margin: 0; background: var(--bv-red); color: #fff;
  font-family: var(--f-head); font-weight: 800; font-size: 16px; letter-spacing: .2px; line-height: 1.2; white-space: nowrap;
  padding: 0 calc(var(--bv-slant) + 18px) 0 18px;
  clip-path: polygon(0 0, 100% 0, calc(100% - var(--bv-slant)) 100%, 0 100%);
}
.bv-topics-row {
  flex: 1; min-width: 0; display: flex; align-items: center; gap: 4px; padding: 0 0 0 8px;
  overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch;
}
.bv-topics-row::-webkit-scrollbar { display: none; }
.bv-topic {
  flex-shrink: 0; display: inline-flex; align-items: center; gap: 1px; padding: 6px 12px; white-space: nowrap;
  font-family: var(--f-head); font-weight: 700; font-size: 15px; color: var(--heading, var(--ink));
  border-radius: var(--r-sm); transition: background-color .15s ease, color .15s ease;
}
.bv-topic span { color: var(--bv-red); font-weight: 800; }
.bv-topic:hover { background: var(--bv-red); color: #fff; }
.bv-topic:hover span { color: #fff; }
.bv-topics-fixed ~ .to-top { bottom: 66px; }                       /* "back to top" stays clear of the bar */
.site-footer.bv-footer .bv-foot { padding-bottom: 76px; }           /* footer text is never hidden behind the bar */
@media (max-width: 920px) {
  /* floats just above the bottom menu (58px tall) */
  .bv-topics-fixed { bottom: 64px; left: 8px; right: 8px; border-radius: var(--r-md); border-top-width: 0; overflow: hidden; box-shadow: 0 6px 22px -6px rgba(0, 0, 0, .35); border: 1px solid var(--border); }
  .bv-tf-wrap { min-height: 40px; padding-inline: 0; }
  .bv-topics-label { font-size: 13.5px; padding: 0 calc(var(--bv-slant) + 10px) 0 12px; }
  .bv-topic { font-size: 14px; padding: 5px 10px; }
  .bv-topics-fixed ~ .to-top { bottom: 118px; }
  .site-footer.bv-footer .bv-foot { padding-bottom: 138px; }
}
[data-theme="dark"] .bv-topics-fixed { border-top-color: var(--bv-red); }

/* ==========================================================================
   News-portal home layout: three-column hero, category blocks, right column
   (headline left / picture right rows, hairline section titles with an "और देखें" pill)
   ========================================================================== */
:root { --bg: #ffffff; }
[data-theme="dark"] { --bg: #0e1014; }

/* shared pieces */
.tv9-hero a, .tv9-sec a, .tv9-side a { color: var(--heading, var(--ink)); }
.tv9-hero h2 a:hover, .tv9-hero h3 a:hover, .tv9-sec h3 a:hover, .tv9-side h3 a:hover, .tv9-b-list a:hover, .tv9-timeline a:hover { color: var(--bv-red); }
.tv9-lead-img, .tv9-small-img, .tv9-big-img, .tv9-row-img { display: block; overflow: hidden; background: var(--surface-2); border-radius: var(--r-md); }
.tv9-lead-img { aspect-ratio: 16 / 10; }
.tv9-small-img, .tv9-big-img { aspect-ratio: 16 / 10; }
.tv9-row-img { aspect-ratio: 16 / 10; border-radius: var(--r-sm); }
.tv9-lead-img img, .tv9-small-img img, .tv9-big-img img, .tv9-row-img img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.tv9-lead:hover img, .tv9-small:hover img, .tv9-big:hover img, .tv9-row:hover img, .tv9-b-lead:hover img, .tv9-half-lead:hover img { transform: scale(1.05); }

.tv9-rows { display: block; }
.tv9-row { display: grid; grid-template-columns: minmax(0, 1fr) 118px; gap: 14px; align-items: start; padding: 14px 0; border-bottom: 1px solid var(--border); }
.tv9-rows .tv9-row:first-child { padding-top: 0; }
.tv9-rows .tv9-row:last-child { border-bottom: 0; padding-bottom: 0; }
.tv9-row h3 { font-size: 15.5px; line-height: 1.45; font-weight: 700; }

/* section title: title + hairline + pill */
.tv9-head { display: flex; align-items: center; gap: 16px; margin: 0 0 16px; }
.tv9-head h2 { position: relative; margin: 0; padding-left: 15px; font-size: 24px; line-height: 1.2; font-weight: 800; color: var(--heading, var(--ink)); white-space: nowrap; }
.tv9-head h2::before { content: ""; position: absolute; left: 0; top: 4px; bottom: 4px; width: 5px; background: var(--bv-red); transform: skewX(-14deg); }
.tv9-head::after { content: ""; flex: 1; order: 1; height: 1px; background: var(--border); }
.tv9-more {
  order: 2; display: inline-flex; align-items: center; gap: 6px; padding: 6px 14px; border: 1px solid #f1c7c7; border-radius: 999px;
  background: var(--surface); color: var(--bv-red) !important; font-family: var(--f-ui); font-weight: 600; font-size: 13px; white-space: nowrap;
  transition: background-color .15s ease, color .15s ease;
}
.tv9-more svg { width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
.tv9-more:hover { background: var(--bv-red); color: #fff !important; border-color: var(--bv-red); }

/* ---- hero ---------------------------------------------------------------- */
.tv9-hero { display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(0, 1fr) minmax(0, .92fr); gap: 0 30px; margin: 22px 0 30px; align-items: start; }
.tv9-c1, .tv9-c2, .tv9-c3 { min-width: 0; }
.tv9-lead h2 { margin: 11px 0 18px; font-size: 22px; line-height: 1.36; font-weight: 800; letter-spacing: -.1px; }
.tv9-duo { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-bottom: 20px; }
.tv9-small h3 { margin-top: 9px; font-size: 15px; line-height: 1.42; font-weight: 700; }
.tv9-c1 .tv9-rows { border-top: 1px solid var(--border); padding-top: 14px; }

.tv9-live-head { display: flex; align-items: center; gap: 10px; margin: 0 0 14px; font-family: var(--f-head); font-size: 22px; font-weight: 800; color: var(--heading, var(--ink)); }
.tv9-live-dot { width: 11px; height: 11px; border-radius: 50%; background: var(--bv-red); animation: bv-pulse-red 1.5s ease-out infinite; }
@keyframes bv-pulse-red { 0% { box-shadow: 0 0 0 0 rgba(224,0,0,.55); } 100% { box-shadow: 0 0 0 9px rgba(224,0,0,0); } }
.tv9-timeline { list-style: none; margin: 0 0 4px 5px; padding: 0 0 0 20px; border-left: 2px solid var(--border); max-height: 560px; overflow-y: auto; scrollbar-width: thin; }
.tv9-timeline li { position: relative; padding: 0 6px 18px 0; }
.tv9-timeline li::before { content: ""; position: absolute; left: -27px; top: 4px; width: 10px; height: 10px; border-radius: 50%; background: var(--bv-red); box-shadow: 0 0 0 3px var(--surface); }
.tv9-time { display: block; margin-bottom: 3px; font-family: var(--f-ui); font-size: 12px; font-weight: 600; color: var(--text-mute); }
.tv9-timeline a { font-family: var(--f-head); font-size: 15.5px; line-height: 1.45; font-weight: 700; }
.tv9-sidead { margin-top: 18px; }
/* the sidebar is shorter than the category column, so the box ads stay in view while the page scrolls past it */
body { overflow-x: clip; }   /* "hidden" made <body> a scroll container, which stops position: sticky from working */
.tv9-side { align-self: stretch; }
.tv9-sidead-stick { position: sticky; top: 84px; }

/* ---- main column + right column ------------------------------------------- */
.tv9-layout { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 0 34px; align-items: start; }
.tv9-main, .tv9-side { min-width: 0; }
.tv9-side .tv9-head h2 { font-size: 21px; }
.tv9-sec { margin: 0 0 36px; }

.tv9-a3-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px 26px; }
.tv9-a3-grid .tv9-row { padding: 0; border-bottom: 0; }
.tv9-big h3 { margin-top: 10px; font-size: 17px; line-height: 1.42; font-weight: 700; }

.tv9-b-grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: 28px; align-items: start; }
.tv9-b-lead h3 { margin-top: 12px; font-size: 21px; line-height: 1.38; font-weight: 800; }
.tv9-b-list { list-style: none; margin: 0; padding: 0; }
.tv9-b-list li { padding: 15px 0; border-bottom: 1px solid var(--border); }
.tv9-b-list li:first-child { padding-top: 0; }
.tv9-b-list li:last-child { border-bottom: 0; }
.tv9-b-list a { font-family: var(--f-head); font-size: 16.5px; line-height: 1.48; font-weight: 700; }

.tv9-pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 30px; }
.tv9-half-lead h3 { margin: 10px 0 14px; font-size: 18px; line-height: 1.42; font-weight: 800; }
.tv9-half .tv9-head h2 { font-size: 22px; }
.tv9-half .tv9-more { padding: 5px 12px; }

/* ---- tablet / mobile ----------------------------------------------------- */
@media (max-width: 1100px) {
  .tv9-hero { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 28px; }
  .tv9-c3 { grid-column: 1 / -1; }
  .tv9-timeline { max-height: none; }
  .tv9-layout { grid-template-columns: minmax(0, 1fr); gap: 10px; }
  .tv9-sidead-stick { position: static; }
  .tv9-side .tv9-rows { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 28px; }
  .tv9-side .tv9-rows .tv9-row:nth-last-child(2) { border-bottom: 0; padding-bottom: 0; }
}
@media (max-width: 760px) {
  .tv9-hero { grid-template-columns: minmax(0, 1fr); margin: 14px 0 22px; gap: 20px; }
  .tv9-lead h2 { font-size: 20px; }
  .tv9-c2 .tv9-row:nth-child(n+5) { display: none; }   /* phones: the time line below already lists the rest */
  .tv9-a3-grid { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  .tv9-a3-grid .tv9-big h3 { font-size: 17px; }
  .tv9-a3-grid .tv9-row { padding: 0; }
  .tv9-b-grid { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .tv9-pair { grid-template-columns: minmax(0, 1fr); }
  .tv9-side .tv9-rows { grid-template-columns: minmax(0, 1fr); }
  .tv9-head h2 { font-size: 21px; }
  .tv9-head { gap: 12px; }
  .tv9-row { grid-template-columns: minmax(0, 1fr) 104px; gap: 12px; }
}
@media (prefers-reduced-motion: reduce) { .tv9-live-dot { animation: none; } }

/* ==========================================================================
   Footer — light and short: logo + follow icons, one line of links, copyright
   ========================================================================== */
.site-footer.bv-footer { background: var(--surface); color: var(--text-soft); border-top: 1px solid var(--border); margin-top: 44px; padding: 0; }
.bv-foot { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 0 36px; align-items: center; padding-top: 26px; padding-bottom: 26px; }
.bv-foot-brand { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; padding-right: 36px; border-right: 1px solid var(--border); }
.bv-foot-brand img { height: 54px; width: auto; }
.bv-foot-follow { display: flex; align-items: center; gap: 12px; }
.bv-foot-follow > span { font-family: var(--f-ui); font-size: 12.5px; font-weight: 600; color: var(--text-mute); white-space: nowrap; }
.site-footer.bv-footer .dyn-follow { gap: 9px; }
.site-footer.bv-footer .dyn-follow .fl { width: 30px; height: 30px; background: var(--bv-red); }
.site-footer.bv-footer .dyn-follow .fl svg { width: 15px; height: 15px; }
.site-footer.bv-footer .dyn-follow .fl:hover { background: var(--bv-ink); opacity: 1; }
.bv-foot-info { min-width: 0; display: flex; flex-direction: column; gap: 10px; }
.bv-foot-links { display: flex; flex-wrap: wrap; gap: 6px 24px; }
.bv-foot-links a { font-family: var(--f-head); font-size: 15px; font-weight: 700; color: var(--heading, var(--ink)); }
.bv-foot-links a:hover { color: var(--bv-red); }
.bv-foot-meta { margin: 0; display: flex; flex-wrap: wrap; gap: 2px 18px; font-size: 13.5px; color: var(--text-soft); }
.bv-foot-meta a { color: var(--text-soft); }
.bv-foot-meta a:hover { color: var(--bv-red); }
.bv-foot-copy { margin: 0; font-size: 12.5px; color: var(--text-mute); }
.bv-foot-copy a { color: var(--text-mute); }
.bv-foot-copy a:hover { color: var(--bv-red); }
@media (max-width: 820px) {
  .bv-foot { grid-template-columns: minmax(0, 1fr); gap: 18px; text-align: center; padding-top: 22px; padding-bottom: 82px; }   /* room for the mobile bottom bar */
  .bv-foot-brand { align-items: center; padding-right: 0; border-right: 0; padding-bottom: 18px; border-bottom: 1px solid var(--border); }
  .bv-foot-links, .bv-foot-meta { justify-content: center; }
}

/* ==========================================================================
   Header top row:  [logo] [वेब स्टोरीज़] [social icons] [लॉगिन] ............ [date]
   ========================================================================== */
.tp-top-actions { margin-left: 20px; gap: 14px; flex-wrap: nowrap; }
.tp-edition { margin-left: auto; }
.tp-ws {
  display: inline-flex; align-items: center; gap: 7px; padding: 6px 14px; white-space: nowrap;
  border: 1px solid var(--border); border-radius: 999px; background: var(--surface);
  font-family: var(--f-ui); font-weight: 700; font-size: 13.5px; color: var(--heading, var(--ink));
  transition: border-color .15s ease, color .15s ease;
}
.tp-ws svg { width: 14px; height: 14px; fill: var(--bv-red); flex-shrink: 0; }
.tp-ws:hover, .tp-ws.active { border-color: var(--bv-red); color: var(--bv-red); }
.tp-top-actions .tp-social { margin: 0; padding: 0; border-left: 0; }
.tp-top-actions .tp-signin { padding: 6px 18px; white-space: nowrap; }
@media (max-width: 920px) {
  .tp-top .wrap { gap: 8px; }
  .tp-top-actions { margin-left: 4px; gap: 7px; }
  .tp-edition { display: none; }
  .tp-ws { padding: 4px 10px; font-size: 12px; gap: 5px; }
  .tp-social { display: flex; gap: 5px; margin: 0; padding: 0; border: 0; }
  .tp-social .fl-wa { display: none; }
  .tp-top-actions .tp-signin { padding: 5px 11px; font-size: 12px; }
}
@media (max-width: 430px) {
  .tp-ws svg { display: none; }
  .tp-top-actions { gap: 5px; }
  .tp-social { gap: 4px; }
}
@media (max-width: 350px) {
  .tp-social a:nth-child(n+3) { display: none; }
}

/* author line under headlines on the home blocks and "ये भी पढ़ें" cards */
.tv9-by { margin: 6px 0 0; font-family: var(--f-ui); font-size: 12px; font-weight: 500; color: var(--text-mute); }
.tv9-lead .tv9-by { margin: -8px 0 16px; }
.bv-related { margin: 34px 0 10px; }
.bv-related .tv9-a3-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.bv-related .tv9-big h3 { font-size: 15.5px; }
@media (max-width: 760px) { .bv-related .tv9-a3-grid { grid-template-columns: minmax(0, 1fr); } }
