/* home page styles */
/* ── News grids ─────────────────────────────── */
.news-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:22px}
@media(max-width:700px){.news-grid-3{grid-template-columns:1fr 1fr}}
@media(max-width:450px){.news-grid-3{grid-template-columns:1fr}}

/* ── Inline search bar — styles in sh-common.css ── */

/* ── TV Broadcast style breaking news video ── */
.bn-video-wrap{
  position:relative;
  border-radius:var(--sh-r-lg);
  overflow:hidden;
  aspect-ratio:16/9;
  margin-bottom:0;
  cursor:pointer;
  background:#0f172a;
}
/* TV graphic background */
.bn-tv-bg{
  width:100%;height:100%;
  background:
    radial-gradient(ellipse at 60% 40%, rgba(220,60,0,.7) 0%, transparent 65%),
    radial-gradient(ellipse at 30% 60%, rgba(180,0,0,.5) 0%, transparent 60%),
    linear-gradient(160deg,#1a0000 0%,#3d0000 30%,#b91c1c 55%,#7f1d1d 80%,#0f172a 100%);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  position:relative;
}
/* Diagonal grid lines (TV-graphic texture) */
.bn-tv-bg::before{
  content:'';
  position:absolute;inset:0;
  background:repeating-linear-gradient(
    -45deg,
    transparent,transparent 18px,
    rgba(255,255,255,.03) 18px,rgba(255,255,255,.03) 19px
  );
}
/* "BREAKING NEWS" graphic text */
.bn-graphic{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:2}
.bn-word-breaking{
  font-size:clamp(2rem,7vw,3.8rem);
  font-weight:900;
  letter-spacing:4px;
  text-transform:uppercase;
  color:#fff;
  text-shadow:0 0 40px rgba(255,80,0,.8),0 2px 4px rgba(0,0,0,.5);
  line-height:1;
}
.bn-live-badge-tv{
  background:var(--sh-red);
  color:#fff;
  font-size:clamp(.8rem,2vw,1.1rem);
  font-weight:800;
  letter-spacing:6px;
  padding:4px 18px;
  border-radius:3px;
  margin-top:4px;
  text-transform:uppercase;
  box-shadow:0 0 20px rgba(220,38,38,.6);
  animation:liveflash 1.2s ease infinite alternate;
}
@keyframes liveflash{from{opacity:1}to{opacity:.75}}
.bn-word-news{
  font-size:clamp(2.2rem,8vw,4.4rem);
  font-weight:900;
  letter-spacing:6px;
  text-transform:uppercase;
  color:#fff;
  text-shadow:0 0 50px rgba(255,120,0,.9),0 2px 6px rgba(0,0,0,.6);
  line-height:1;
  margin-top:2px;
}
/* Play button overlay */
.bn-play-overlay{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;z-index:5;
  background:rgba(0,0,0,.15);
  transition:.2s;
}
.bn-play-overlay:hover{background:rgba(0,0,0,.3)}
.bn-play-btn{
  width:58px;height:58px;
  background:rgba(255,255,255,.15);
  border:2px solid rgba(255,255,255,.4);
  border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-size:1.4rem;color:#fff;
  backdrop-filter:blur(4px);
  transition:.2s;
}
.bn-play-overlay:hover .bn-play-btn{background:rgba(220,38,38,.8);border-color:var(--sh-red);transform:scale(1.1)}

/* Bottom info strip on video */
.bn-info-strip{
  position:absolute;bottom:0;left:0;right:0;z-index:6;
  background:linear-gradient(transparent,rgba(0,0,0,.88));
  padding:24px 14px 12px;
  display:flex;align-items:flex-end;gap:12px;
}
.bn-anchor-avatar{
  width:52px;height:52px;border-radius:50%;
  background:linear-gradient(135deg,#7c3aed,#4f46e5);
  border:2px solid rgba(255,255,255,.4);
  display:flex;align-items:center;justify-content:center;
  font-size:1.4rem;flex-shrink:0;
  overflow:hidden;
}
.bn-info-text{flex:1;min-width:0}
.bn-breaking-lbl{
  display:inline-flex;align-items:center;gap:5px;
  background:var(--sh-red);color:#fff;
  font-size:.65rem;font-weight:700;letter-spacing:1px;
  padding:2px 8px;border-radius:3px;margin-bottom:4px;
}
.bn-headline{
  font-size:.88rem;font-weight:700;color:#fff;
  line-height:1.3;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.bn-meta-row{
  display:flex;gap:10px;flex-wrap:wrap;margin-top:4px;
  font-size:.7rem;color:rgba(255,255,255,.65);
}


/* ── Top Contributors — featured + scroll ─────── */
.top-contributors-h{
  margin-bottom:22px;
  width:100%;max-width:100%;min-width:0;
  overflow:hidden;
}
.top-contributors-h-head{
  display:flex;align-items:center;justify-content:space-between;
  margin-bottom:10px;
}
.top-contributors-h-head h2{font-size:1rem;font-weight:700;margin:0}
.top-contributors-h-viewport{
  width:100%;max-width:100%;min-width:0;overflow:hidden;
}
.top-contributors-h-scroll{
  display:flex;gap:10px;overflow-x:auto;overflow-y:hidden;
  scroll-snap-type:x mandatory;
  -webkit-overflow-scrolling:touch;padding-bottom:6px;scrollbar-width:thin;
  width:100%;max-width:100%;min-width:0;
}
.top-contributors-h-scroll::-webkit-scrollbar{height:5px}
.top-contributors-h-scroll::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}
.contributor-h-card{
  display:flex;align-items:center;gap:12px;
  background:#1c2128;
  border:1px solid rgba(255,255,255,.08);
  border-radius:var(--sh-r);
  transition:.15s;cursor:pointer;
}
.contributor-h-card:hover{border-color:rgba(255,255,255,.14);background:#21262d}
.contributor-h-card--featured{
  width:100%;box-sizing:border-box;
  padding:16px 18px;margin-bottom:12px;
  border-radius:var(--sh-r-lg);
  background:#1c2128;
}
.contributor-h-card--featured .sh-contributor-rank{width:36px;height:36px;font-size:1rem}
.contributor-h-card--featured .sh-contributor-avatar{width:52px;height:52px;font-size:1.15rem}
.contributor-h-card--featured .sh-contributor-name{font-size:1rem;font-weight:800}
.contributor-h-card--featured .sh-contributor-stats{font-size:.8rem}
.contributor-h-card--scroll{
  display:grid;
  grid-template-columns:auto auto 1fr auto;
  grid-template-rows:auto auto;
  align-items:center;
  column-gap:8px;
  row-gap:2px;
  padding:10px 14px;
  flex:0 0 240px;
  min-width:240px;box-sizing:border-box;
  scroll-snap-align:start;background:#1c2128;
}
@media(max-width:520px){
  .contributor-h-card--scroll{flex:0 0 220px;min-width:220px}
}
.contributor-h-card--scroll .sh-contributor-rank{width:26px;height:26px;font-size:.78rem;grid-row:1/-1}
.contributor-h-card--scroll .sh-contributor-avatar{width:36px;height:36px;font-size:.85rem;grid-row:1/-1}
.contributor-h-card--scroll .sh-contributor-info{display:contents}
.contributor-h-card--scroll .sh-contributor-name{font-size:.82rem;grid-column:3;grid-row:1;min-width:0;overflow:visible;text-overflow:clip}
.contributor-h-card--scroll .sh-contributor-stats{font-size:.68rem;grid-column:3;grid-row:2;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.contributor-h-card .sh-contributor-info{flex:1;min-width:0;overflow:hidden}
.contributor-h-card .sh-contributor-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.contributor-h-card .sh-contributor-rating{font-size:.8rem;white-space:nowrap;margin-left:auto;flex-shrink:0}
.contributor-h-card--scroll .sh-contributor-rating{font-size:.74rem;grid-column:4;grid-row:1/-1;align-self:center;margin-left:0}

/* ── Region Filter carousel ─────────────────── */
.rf-viewport{overflow:hidden;position:relative;margin:0 -2px}
.rf-region-track{display:flex;transition:transform .5s cubic-bezier(.4,0,.2,1);will-change:transform}
.rf-region-panel{flex:0 0 100%;min-width:100%;box-sizing:border-box;padding:0 2px}
.rf-region-head{
  display:flex;align-items:center;justify-content:space-between;
  font-size:.72rem;font-weight:800;color:var(--sh-red);
  text-transform:uppercase;letter-spacing:.3px;margin-bottom:8px;
}
.rf-region-head span{font-size:.65rem;font-weight:600;color:var(--sh-muted);text-transform:none;letter-spacing:0}
.rf-news-scroll{
  display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;
  -webkit-overflow-scrolling:touch;scrollbar-width:thin;padding-bottom:6px;
}
.rf-news-scroll::-webkit-scrollbar{height:4px}
.rf-news-scroll::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}
.rf-news-card{
  flex:0 0 calc(100% - 4px);min-width:calc(100% - 4px);scroll-snap-align:start;
  display:block;text-decoration:none;background:#1c2128;
  border:1px solid rgba(255,255,255,.08);border-radius:var(--sh-r-sm);
  padding:10px 12px;transition:.15s;box-sizing:border-box;
}
.rf-news-card:hover{border-color:rgba(220,38,38,.45);box-shadow:0 4px 14px rgba(0,0,0,.35)}
.rf-news-card .rf-title{font-size:.82rem;font-weight:700;color:#e2e8f0;line-height:1.35;margin-bottom:4px}
.rf-news-card .rf-meta{font-size:.68rem;color:#8b949e}
.rf-dots{display:flex;justify-content:center;gap:5px;margin-top:10px}
.rf-dot{width:6px;height:6px;border-radius:50%;background:var(--sh-border);border:none;padding:0;cursor:pointer;transition:.25s}
.rf-dot.active{background:var(--sh-red);width:18px;border-radius:3px}

/* ── Right sidebar: Concern box (red) ─────── */
.concern-box{
  background:var(--sh-red);
  border-radius:var(--sh-r);
  padding:14px 14px;
  margin-bottom:14px;
  color:#fff;
  cursor:pointer;
  position:relative;
  transition:filter .15s,transform .15s;
}
.concern-box:hover{filter:brightness(1.04);transform:translateY(-1px)}
.concern-box:focus-visible{outline:2px solid #fff;outline-offset:2px}
.concern-box h4{font-size:.88rem;font-weight:800;line-height:1.3;text-transform:uppercase;margin-bottom:6px}
.concern-box p{font-size:.75rem;color:rgba(255,255,255,.85);margin-bottom:10px}
.concern-wa-btn{
  display:inline-flex;align-items:center;gap:6px;
  background:#25d366;color:#fff;
  padding:6px 14px;border-radius:20px;
  font-size:.8rem;font-weight:700;
  border:none;cursor:pointer;
  position:relative;z-index:2;
}
.concern-wa-btn:hover{background:#1da851}

/* ── Latest Stories — WhatsApp share icon ─────── */
.story-wa-btn{
  position:absolute;top:8px;right:8px;z-index:3;
  width:34px;height:34px;border-radius:50%;
  background:#25d366;color:#fff;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 2px 10px rgba(0,0,0,.28);
  border:2px solid rgba(255,255,255,.92);
  cursor:pointer;transition:.15s;
}
.story-wa-btn:hover{background:#1da851;transform:scale(1.06)}
.story-wa-btn svg{width:18px;height:18px;display:block}

/* ── Photo thumbnails in cards ────────────── */
.sh-news-card-img{position:relative;overflow:hidden;display:block}
.sh-news-card-img>img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block;transition:transform .35s ease}
.sh-news-card:hover .sh-news-card-img>img{transform:scale(1.04)}
.sh-cat-box-img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover;opacity:.88;height:auto!important}
.bn-hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;display:block}
.bn-tv-bg{z-index:1;background:transparent!important}
.bn-tv-bg::before,.bn-tv-bg::after{display:none}
.bn-graphic{display:none}
.bn-play-overlay{z-index:5;background:rgba(0,0,0,.08)}
.bn-info-strip{display:none}
.rf-news-card{display:flex!important;gap:10px;align-items:flex-start;padding:8px!important}
.rf-thumb{width:84px;height:58px;object-fit:cover;border-radius:6px;flex-shrink:0}
.rf-body{flex:1;min-width:0}
.related-thumb{width:54px;height:54px;object-fit:cover;border-radius:8px;flex-shrink:0}
.sh-news-card-img>img.img-focus-left{object-position:left center}
.rf-thumb.img-focus-left{object-position:left center}
.sidebar-feature{border-radius:var(--sh-r);overflow:hidden;border:1px solid rgba(255,255,255,.08);margin-bottom:14px;cursor:pointer;transition:.2s}
.sidebar-feature:hover{border-color:rgba(255,255,255,.16)}
.sidebar-feature-img{width:100%;display:block;object-fit:cover}

/* ── Right sidebar: thumbnail card ─────────── */
.sidebar-thumb-card{border-radius:var(--sh-r);overflow:hidden;margin-bottom:14px;cursor:pointer;transition:.2s;background:var(--sh-dark2)}
.sidebar-thumb-card:hover{transform:translateY(-2px)}
.sidebar-thumb-img{width:100%;height:110px;object-fit:cover;display:flex;align-items:center;justify-content:center;font-size:2.5rem;color:rgba(255,255,255,.3)}
.sidebar-thumb-label{background:var(--sh-red);color:#fff;font-size:.68rem;font-weight:700;padding:2px 8px;display:inline-block}
.sidebar-thumb-title{padding:8px 10px;font-size:.82rem;font-weight:700;color:#fff;line-height:1.3}

/* ── Right sidebar: Editor's Pick videos ───── */
.editor-pick-card{
  position:relative;border-radius:var(--sh-r);overflow:hidden;
  margin-bottom:14px;cursor:pointer;transition:.2s;
}
.editor-pick-card:hover{transform:translateY(-2px)}
.editor-pick-card:focus{outline:2px solid var(--sh-red);outline-offset:2px}
.editor-pick-media{
  position:relative;width:100%;height:110px;
  background:linear-gradient(135deg,#1a0a3d,#312e81);
  overflow:hidden;
}
.editor-pick-card--compact .editor-pick-media{height:100px}
.editor-pick-media video{
  width:100%;height:100%;object-fit:cover;display:block;
  background:linear-gradient(135deg,#1a0a3d 0%,#312e81 40%,#4f46e5 100%);
}
.editor-pick-media::after{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(transparent 30%,rgba(0,0,0,.82));
}
.editor-pick-play{
  position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  width:38px;height:38px;border-radius:50%;
  background:rgba(255,255,255,.92);color:var(--sh-dark);
  display:flex;align-items:center;justify-content:center;
  font-size:.9rem;padding-left:3px;z-index:2;
  box-shadow:0 2px 14px rgba(0,0,0,.35);
}
.editor-pick-badge{
  position:absolute;top:8px;left:8px;z-index:2;
  background:var(--sh-red);color:#fff;
  font-size:.65rem;font-weight:700;padding:2px 8px;border-radius:3px;
}
.editor-pick-caption{
  position:absolute;bottom:0;left:0;right:0;z-index:2;
  padding:8px 10px;font-size:.82rem;font-weight:700;line-height:1.3;
}
.editor-pick-foot{
  background:var(--sh-dark2);padding:8px 10px;
}
.editor-pick-foot .editor-pick-label{
  display:inline-block;background:var(--sh-red);color:#fff;
  font-size:.65rem;font-weight:700;padding:2px 8px;border-radius:3px;margin-bottom:5px;
}
.editor-pick-foot .editor-pick-title{
  font-size:.82rem;font-weight:700;color:#fff;line-height:1.35;
}

/* ── Editor's Pick video popup ──────────────── */
.ep-video-overlay{
  position:fixed;inset:0;background:rgba(0,0,0,.72);z-index:900;
  display:flex;align-items:center;justify-content:center;padding:16px;
  opacity:0;pointer-events:none;transition:.25s;
}
.ep-video-overlay.open{opacity:1;pointer-events:all}
.ep-video-modal{
  background:#0f172a;border-radius:var(--sh-r-lg);width:100%;max-width:820px;
  box-shadow:0 24px 80px rgba(0,0,0,.55);overflow:hidden;
  transform:scale(.96);transition:.25s;
}
.ep-video-overlay.open .ep-video-modal{transform:scale(1)}
.ep-video-modal-hdr{
  display:flex;align-items:flex-start;justify-content:space-between;gap:12px;
  padding:14px 18px;border-bottom:1px solid rgba(255,255,255,.08);
}
.ep-video-modal-label{font-size:.68rem;font-weight:700;color:#fca5a5;text-transform:uppercase;letter-spacing:.4px;margin-bottom:4px}
.ep-video-modal-hdr h3{margin:0;font-size:.95rem;font-weight:800;color:#fff;line-height:1.35;max-width:640px}
.ep-video-close{background:rgba(255,255,255,.1);border:none;color:#fff;width:32px;height:32px;border-radius:8px;cursor:pointer;font-size:1rem;flex-shrink:0}
.ep-video-close:hover{background:rgba(255,255,255,.18)}
.ep-video-player-wrap{background:#000;position:relative;aspect-ratio:16/9}
.ep-video-player-wrap video{width:100%;height:100%;display:block;object-fit:contain;background:#000}
.ep-video-modal-ftr{
  display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;
  padding:12px 18px;background:#1e293b;
}
.ep-video-fs-btn{
  background:var(--sh-red);color:#fff;border:none;padding:8px 16px;border-radius:var(--sh-r-sm);
  font-size:.82rem;font-weight:700;cursor:pointer;
}
.ep-video-fs-btn:hover{filter:brightness(.92)}
.ep-video-detail-link{color:#93c5fd;font-size:.8rem;font-weight:700;text-decoration:none}
.ep-video-detail-link:hover{text-decoration:underline}

/* ── Right sidebar: program banner (legacy) ── */
.sidebar-program-banner{
  position:relative;border-radius:var(--sh-r);overflow:hidden;
  margin-bottom:14px;cursor:pointer;
}
.sidebar-program-banner .prog-img{
  width:100%;height:100px;
  background:linear-gradient(135deg,#1a0a3d,#312e81);
  display:flex;align-items:center;justify-content:center;
  font-size:2rem;
  position:relative;overflow:hidden;
}
.sidebar-program-banner .prog-img::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(transparent 40%,rgba(0,0,0,.8));
}
.sidebar-program-banner .prog-caption{
  position:absolute;bottom:0;left:0;right:0;
  padding:6px 10px;
  font-size:.82rem;font-weight:700;color:#fff;
  line-height:1.3;
  z-index:1;
}

/* ── Sidebar: Advertisement Box ────────────── */
.sidebar-ad-box{
  border:1.5px dashed rgba(255,255,255,.18);
  border-radius:var(--sh-r);
  background:var(--sh-dark2);
  padding:20px 16px 18px;
  text-align:center;
  margin-bottom:14px;
}
.sidebar-ad-label{
  font-size:.62rem;
  font-weight:700;
  letter-spacing:1.5px;
  color:rgba(255,255,255,.4);
  text-transform:uppercase;
  margin-bottom:12px;
}
.sidebar-ad-icon{
  font-size:2.4rem;
  line-height:1;
  margin-bottom:10px;
  display:block;
}
.sidebar-ad-title{
  font-size:.95rem;
  font-weight:700;
  color:var(--sh-text);
  margin-bottom:5px;
}
.sidebar-ad-sub{
  font-size:.76rem;
  color:var(--sh-muted);
  line-height:1.4;
  margin-bottom:14px;
}
.sidebar-ad-cta{
  display:inline-block;
  background:transparent;
  border:1.5px solid rgba(255,255,255,.3);
  color:#fff;
  padding:6px 18px;
  border-radius:20px;
  font-size:.78rem;
  font-weight:600;
  transition:.2s;
}
.sidebar-ad-cta:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.5)}

/* ── Responsive (home hero; header rules live in sh-site-header.css) ── */
@media(max-width:640px){
  .bn-word-breaking{font-size:1.6rem;letter-spacing:2px}
  .bn-word-news{font-size:1.8rem;letter-spacing:3px}
  .bn-live-badge-tv{font-size:.7rem;letter-spacing:3px;padding:3px 12px}
  .bn-headline{font-size:.8rem}
  .bn-anchor-avatar{width:40px;height:40px;font-size:1.1rem}
}