/*
Theme Name: Banglar Barta
Theme URI: https://example.com/banglar-barta
Author: Banglar Barta Digital
Author URI: https://example.com
Description: একটি বাংলা নিউজ পোর্টাল ওয়ার্ডপ্রেস থিম — ব্রেকিং নিউজ টিকার, লাইভ TV সেকশন, ক্যাটাগরি গ্রিড, রাশিফল/আবহাওয়া উইজেট সহ। নীল ও সাদা রঙের কালার স্কিম।
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: banglar-barta
Tags: news, blog, two-columns, right-sidebar, custom-menu, featured-images, full-width-template, theme-options, translation-ready, custom-logo
*/

/* ====================================================================
   WordPress core/editor compatibility helpers
   ==================================================================== */
.alignwide{margin-left:0;margin-right:0;}
.alignfull{margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);max-width:100vw;width:100vw;}
.aligncenter{margin-left:auto;margin-right:auto;display:block;}
.alignleft{float:left;margin:0 1.5em 1em 0;}
.alignright{float:right;margin:0 0 1em 1.5em;}
.screen-reader-text{
  position:absolute !important;
  width:1px;height:1px;
  overflow:hidden;
  clip:rect(1px,1px,1px,1px);
  white-space:nowrap;
}
.skip-link{
  position:absolute;
  left:-9999px;
  top:0;
  background:var(--indigo,#0A3D62);
  color:#fff;
  padding:12px 20px;
  z-index:9999;
  border-radius:0 0 8px 0;
}
.skip-link:focus{left:0;}

/* Admin bar offset so sticky header doesn't overlap WP toolbar */
.admin-bar header.main{top:32px;}
@media (max-width:782px){
  .admin-bar header.main{top:46px;}
}

/* WP gallery / caption basics for single posts */
.wp-caption{max-width:100%;}
.wp-caption-text{
  font-size:12.5px;
  color:var(--muted,#5C6B86);
  margin-top:6px;
  text-align:center;
}
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:20px 0;}
.gallery img{border-radius:8px;}

/* Pagination (used on category/search/archive pages) */
.bb-pagination{
  display:flex;
  justify-content:center;
  gap:8px;
  margin:24px 0 8px;
}
.bb-pagination a, .bb-pagination span{
  display:flex;align-items:center;justify-content:center;
  min-width:38px;height:38px;
  border-radius:8px;
  border:1px solid var(--line,#D7E2F0);
  font-size:13.5px;
  font-weight:600;
  color:var(--indigo,#0A3D62);
  background:#fff;
  transition:all .15s;
  padding:0 10px;
}
.bb-pagination a:hover{background:var(--paper-deep,#E8EFF8);}
.bb-pagination span.current{background:var(--signal,#1E6FD9);color:#fff;border-color:var(--signal,#1E6FD9);}

/* Search form (used by search-btn / searchform.php) */
.bb-search-panel{
  display:none;
  background:var(--white,#fff);
  border-bottom:1px solid var(--line,#D7E2F0);
}
.bb-search-panel.open{display:block;}
.bb-search-panel form, .bb-search-form{
  display:flex;
  gap:10px;
  padding:16px 0;
}
.bb-search-panel input[type="search"], .bb-search-form input[type="search"]{
  flex:1;
  border:1px solid var(--line,#D7E2F0);
  border-radius:8px;
  padding:11px 16px;
  font-family:var(--font-body);
  font-size:14px;
  outline:none;
}
.bb-search-panel input[type="search"]:focus, .bb-search-form input[type="search"]:focus{border-color:var(--signal,#1E6FD9);}
.bb-search-panel button, .bb-search-form button{
  background:var(--signal,#1E6FD9);
  color:#fff;
  border:none;
  border-radius:8px;
  padding:0 22px;
  font-weight:700;
  font-size:13.5px;
  font-family:var(--font-body);
  cursor:pointer;
}

/* Comments */
.comment-list{list-style:none;margin:24px 0;}
.comment-body{
  padding:16px 0;
  border-bottom:1px solid var(--line,#D7E2F0);
}
.comment-author{font-weight:700;font-size:13.5px;color:var(--indigo,#0A3D62);}
.comment-meta{font-size:11.5px;color:var(--muted,#5C6B86);margin-bottom:6px;}
.comment-content{font-size:13.5px;line-height:1.7;}
.comment-reply-link{
  font-size:12px;font-weight:600;color:var(--signal,#1E6FD9);
  margin-top:6px;display:inline-block;
}

/* Single post article body */
.single-article{
  background:#fff;
  border-radius:12px;
  padding:28px;
  margin-bottom:28px;
  box-shadow:0 1px 3px rgba(10,61,98,.06);
}
.single-article .post-category{margin-bottom:14px;}
.single-article h1.entry-title{
  font-family:var(--font-display);
  font-size:30px;
  font-weight:400;
  line-height:1.35;
  color:var(--ink,#16213A);
  margin-bottom:14px;
}
.single-article .entry-meta{
  display:flex;gap:16px;flex-wrap:wrap;
  font-size:12.5px;color:var(--muted,#5C6B86);
  padding-bottom:18px;margin-bottom:22px;
  border-bottom:1px solid var(--line,#D7E2F0);
}
.single-article .entry-thumb{
  border-radius:10px;overflow:hidden;margin-bottom:22px;
}
.single-article .entry-thumb img{width:100%;}
.single-article .entry-content{
  font-size:16px;line-height:1.85;color:var(--ink,#16213A);
}
.single-article .entry-content p{margin-bottom:18px;}
.single-article .entry-content h2{
  font-family:var(--font-display);font-size:22px;font-weight:400;
  color:var(--indigo,#0A3D62);margin:28px 0 14px;
}
.single-article .entry-content h3{
  font-family:var(--font-display);font-size:19px;font-weight:400;
  margin:22px 0 12px;
}
.single-article .entry-content blockquote{
  border-left:4px solid var(--signal,#1E6FD9);
  background:var(--paper,#F4F7FB);
  padding:16px 20px;
  margin:20px 0;
  font-style:italic;
  border-radius:0 8px 8px 0;
}
.single-article .entry-content img{border-radius:8px;margin:18px 0;}
.single-article .entry-content a{color:var(--signal,#1E6FD9);text-decoration:underline;}
.tag-links{margin-top:24px;padding-top:18px;border-top:1px solid var(--line,#D7E2F0);}
.tag-links a{
  display:inline-block;
  background:var(--paper-deep,#E8EFF8);
  color:var(--indigo,#0A3D62);
  font-size:12px;font-weight:600;
  padding:6px 14px;border-radius:16px;
  margin:0 6px 6px 0;
}

/* No-results / empty state */
.no-results{
  background:#fff;border-radius:12px;padding:48px 28px;text-align:center;
}
.no-results h2{font-family:var(--font-display);font-size:22px;color:var(--indigo,#0A3D62);margin-bottom:10px;}
.no-results p{color:var(--muted,#5C6B86);font-size:14px;}

@media (max-width:600px){
  .single-article{padding:18px;}
  .single-article h1.entry-title{font-size:21px;}
  .single-article .entry-content{font-size:14.5px;}
  .gallery{grid-template-columns:repeat(2,1fr);}
}


  :root{
    --ink:#16213A;
    --indigo:#0A3D62;
    --indigo-deep:#072A45;
    --signal:#1E6FD9;
    --signal-light:#5C96E8;
    --coral:#E84C3D;
    --coral-deep:#C53A2D;
    --paper:#F4F7FB;
    --paper-deep:#E8EFF8;
    --white:#FFFFFF;
    --line:#D7E2F0;
    --muted:#5C6B86;
    --font-display:'Tiro Bangla', serif;
    --font-body:'Hind Siliguri', sans-serif;
    --font-brand:'Baloo Da 2', sans-serif;
  }
  *{margin:0;padding:0;box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    font-family:var(--font-body);
    color:var(--ink);
    background:var(--paper);
    line-height:1.5;
  }
  a{text-decoration:none;color:inherit;}
  img{display:block;max-width:100%;}
  ul{list-style:none;}

  /* ===== Utility ===== */
  .wrap{max-width:1180px;margin:0 auto;padding:0 20px;}
  .eyebrow{
    font-family:var(--font-body);
    font-weight:700;
    font-size:11px;
    letter-spacing:.14em;
    color:var(--signal);
    text-transform:uppercase;
  }

  /* ===== Top utility bar ===== */
  .topbar{
    background:var(--indigo-deep);
    color:#C9D8EE;
    font-size:12.5px;
  }
  .topbar .wrap{
    display:flex;
    align-items:center;
    justify-content:space-between;
    height:34px;
  }
  .topbar .date{letter-spacing:.02em;}
  .topbar .social{display:flex;gap:14px;align-items:center;}
  .topbar .social a{color:#C9D8EE;opacity:.85;transition:opacity .15s;}
  .topbar .social a:hover{opacity:1;color:#fff;}

  /* ===== Header ===== */
  header.main{
    background:var(--white);
    border-bottom:1px solid var(--line);
    position:sticky;
    top:0;
    z-index:50;
    box-shadow:0 1px 0 rgba(10,61,98,.04);
  }
  .header-inner{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:16px 20px;
    gap:24px;
  }
  /* Logo alignment variants, controlled via Customizer */
  header.main.logo-center .header-inner{
    display:grid;
    grid-template-columns:1fr auto 1fr;
    align-items:center;
  }
  header.main.logo-center .brand{justify-self:center;}
  header.main.logo-center .header-actions{justify-self:end;}
  header.main.logo-center .header-ad-slot{justify-self:start;}

  /* Header ad slot — sits beside the logo/actions, hidden if empty or disabled */
  .header-ad-slot{
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
  }
  .header-ad-slot:empty{display:none;}
  .header-ad-slot img{max-height:60px;width:auto;border-radius:6px;}
  .header-ad-slot .ad-label{
    position:absolute;
    font-size:9px;
    color:var(--muted);
    letter-spacing:.06em;
    text-transform:uppercase;
    margin-top:-50px;
  }
  .brand{display:flex;align-items:center;gap:12px;}
  .brand-mark{
    width:46px;height:46px;
    border-radius:10px;
    background:linear-gradient(155deg, var(--signal) 0%, var(--indigo) 100%);
    display:flex;align-items:center;justify-content:center;
    position:relative;
    flex-shrink:0;
  }
  .brand-mark::after{
    content:"";
    position:absolute;
    top:-5px; right:-5px;
    width:13px;height:13px;
    background:var(--coral);
    border-radius:3px;
    transform:rotate(12deg);
    border:2px solid var(--white);
  }
  .brand-mark svg{width:24px;height:24px;}
  .brand-text{display:flex;flex-direction:column;line-height:1.1;}
  /* Custom logo wrapper — size controlled by Customizer → Logo সাইজ */
  .custom-logo-wrap{
    display:flex;
    align-items:center;
    justify-content:center;
    flex-shrink:0;
    overflow:hidden;
    border-radius:10px;
  }
  .custom-logo-wrap img{
    width:100%;
    height:100%;
    object-fit:contain;
  }
  .brand-text .name{
    font-family:var(--font-brand);
    font-size:25px;
    font-weight:700;
    color:var(--indigo);
    letter-spacing:.01em;
  }
  .brand-text .tagline{
    font-size:11px;
    color:var(--muted);
    letter-spacing:.05em;
    margin-top:2px;
  }
  .header-actions{display:flex;align-items:center;gap:14px;}
  .search-btn{
    width:38px;height:38px;
    border-radius:50%;
    border:1px solid var(--line);
    display:flex;align-items:center;justify-content:center;
    color:var(--indigo);
    transition:background .15s, border-color .15s, transform .15s;
    cursor:pointer;
    background:none;
  }
  .search-btn:hover{background:var(--paper-deep);border-color:var(--signal-light);transform:translateY(-1px);}
  .live-pill{
    display:flex;align-items:center;gap:7px;
    background:var(--coral);
    color:#fff;
    font-size:12.5px;
    font-weight:700;
    padding:7px 14px 7px 11px;
    border-radius:20px;
    letter-spacing:.03em;
    box-shadow:0 4px 10px rgba(232,76,61,.25);
    transition:transform .15s, box-shadow .15s;
    border:none;
    cursor:pointer;
  }
  .live-pill:hover{transform:translateY(-1px);box-shadow:0 6px 14px rgba(232,76,61,.32);}
  .live-pill .dot{
    width:7px;height:7px;border-radius:50%;background:#fff;
    animation:pulse 1.6s infinite;
  }
  @keyframes pulse{0%,100%{opacity:1;}50%{opacity:.35;}}

  /* Mobile nav toggle */
  .nav-toggle{
    display:none;
    width:38px;height:38px;
    border-radius:8px;
    border:1px solid var(--line);
    background:none;
    align-items:center;
    justify-content:center;
    cursor:pointer;
    flex-direction:column;
    gap:4px;
  }
  .nav-toggle span{
    display:block;width:18px;height:2px;
    background:var(--indigo);
    border-radius:2px;
    transition:transform .25s, opacity .2s;
  }
  .nav-toggle.open span:nth-child(1){transform:translateY(6px) rotate(45deg);}
  .nav-toggle.open span:nth-child(2){opacity:0;}
  .nav-toggle.open span:nth-child(3){transform:translateY(-6px) rotate(-45deg);}

  /* ===== Nav ===== */
  nav.primary{
    background:var(--indigo);
  }
  nav.primary .wrap{
    display:flex;
    align-items:center;
    overflow-x:auto;
    scrollbar-width:none;
  }
  nav.primary .wrap::-webkit-scrollbar{display:none;}
  nav.primary ul{display:flex;white-space:nowrap;}
  nav.primary a{
    display:flex;
    align-items:center;
    gap:7px;
    padding:13px 16px;
    font-size:14.5px;
    font-weight:500;
    color:#DCE7F8;
    border-bottom:3px solid transparent;
    transition:all .15s;
  }
  nav.primary a .nav-icon{
    font-size:15px;
    line-height:1;
    flex-shrink:0;
  }
  nav.primary a:hover, nav.primary a.active{
    color:#fff;
    background:rgba(255,255,255,.06);
    border-bottom-color:var(--coral);
  }

  /* ===== Breaking ticker ===== */
  .ticker{
    background:var(--white);
    border-bottom:1px solid var(--line);
  }
  .ticker .wrap{
    display:flex;
    align-items:center;
    height:42px;
    gap:14px;
  }
  .ticker-tag{
    background:var(--coral);
    color:#fff;
    font-size:12px;
    font-weight:700;
    padding:5px 12px;
    border-radius:4px;
    flex-shrink:0;
    position:relative;
    clip-path:polygon(0 0, 100% 0, 92% 100%, 0% 100%);
    padding-right:18px;
  }
  .ticker-track{
    flex:1;
    overflow:hidden;
    position:relative;
    height:100%;
    display:flex;
    align-items:center;
  }
  .ticker-items{
    display:flex;
    gap:60px;
    white-space:nowrap;
    animation:scroll-left 32s linear infinite;
  }
  .ticker-items a{font-size:13.5px;color:var(--ink);font-weight:500;}
  .ticker-items a:hover{color:var(--signal);}
  @keyframes scroll-left{
    0%{transform:translateX(0);}
    100%{transform:translateX(-50%);}
  }

  /* ===== Hero ===== */
  .hero-section{padding:24px 0;}
  .hero-grid{
    display:grid;
    grid-template-columns:1.6fr 1fr;
    gap:20px;
  }
  .hero-main{
    display:block;
    position:relative;
    border-radius:12px;
    overflow:hidden;
    background:var(--indigo-deep);
    aspect-ratio:16/10;
    box-shadow:0 8px 24px rgba(10,61,98,.12);
  }
  .hero-main img{
    width:100%;height:100%;object-fit:cover;
    opacity:.92;
    transition:transform .5s cubic-bezier(.2,.8,.2,1);
  }
  .hero-main:hover img{transform:scale(1.035);}
  .hero-main .overlay{
    position:absolute;inset:0;
    background:linear-gradient(0deg, rgba(7,42,69,.94) 0%, rgba(7,42,69,.55) 45%, rgba(7,42,69,0) 75%);
    display:flex;flex-direction:column;justify-content:flex-end;
    padding:28px;
  }
  .cat-chip{
    display:inline-block;
    background:var(--signal);
    color:#fff;
    font-size:11.5px;
    font-weight:700;
    padding:5px 12px;
    border-radius:4px;
    margin-bottom:12px;
    width:fit-content;
    letter-spacing:.02em;
  }
  .hero-main h1{
    font-family:var(--font-display);
    font-size:30px;
    line-height:1.3;
    color:#fff;
    font-weight:400;
    max-width:90%;
    transition:opacity .15s;
  }
  .hero-main:hover h1{opacity:.92;}
  .hero-main .meta{
    margin-top:12px;
    font-size:12.5px;
    color:#C9D8EE;
  }
  .hero-side{display:flex;flex-direction:column;gap:16px;}
  .hero-side-item{
    display:flex;
    gap:14px;
    align-items:flex-start;
    padding-bottom:16px;
    border-bottom:1px solid var(--line);
  }
  .hero-side-item:last-child{border-bottom:none;padding-bottom:0;}
  .hero-side-item .thumb{
    width:96px;height:72px;
    border-radius:8px;
    overflow:hidden;
    flex-shrink:0;
    background:var(--paper-deep);
  }
  .hero-side-item .thumb img{width:100%;height:100%;object-fit:cover;transition:transform .35s;}
  .hero-side-item:hover .thumb img{transform:scale(1.08);}
  .hero-side-item .txt span.cat{
    color:var(--signal);
    font-size:11px;
    font-weight:700;
    letter-spacing:.02em;
  }
  .hero-side-item .txt h3{
    font-family:var(--font-display);
    font-size:15.5px;
    font-weight:400;
    line-height:1.4;
    margin-top:4px;
    color:var(--ink);
    transition:color .15s;
  }
  .hero-side-item:hover h3{color:var(--signal);}

  /* ===== Live TV strip — embedded autoplay player (muted, no redirect) ===== */
  .livetv{
    background:var(--indigo);
    background-image:radial-gradient(circle at 85% 20%, rgba(255,255,255,.06), transparent 50%);
    padding:24px 0;
    margin:8px 0 32px;
  }
  .livetv .wrap{
    display:flex;
    align-items:center;
    gap:28px;
  }
  .livetv-player{
    width:320px;
    aspect-ratio:16/9;
    border-radius:12px;
    overflow:hidden;
    flex-shrink:0;
    position:relative;
    background:#000;
    border:2px solid rgba(255,255,255,.15);
    box-shadow:0 10px 28px rgba(0,0,0,.28);
  }
  .livetv-player iframe{
    position:absolute;inset:0;
    width:100%;height:100%;
    border:0;
  }
  .livetv-player .badge{
    position:absolute;top:10px;left:10px;
    background:var(--coral);
    color:#fff;font-size:10.5px;font-weight:700;
    padding:4px 10px;border-radius:4px;
    display:flex;align-items:center;gap:5px;
    z-index:3;
    pointer-events:none;
    box-shadow:0 2px 8px rgba(0,0,0,.25);
  }
  .livetv-player .badge .dot{width:5px;height:5px;border-radius:50%;background:#fff;animation:pulse 1.6s infinite;}
  /* Fallback shown only if no Customizer URL is set yet */
  .livetv-player .no-source{
    position:absolute;inset:0;
    display:flex;flex-direction:column;align-items:center;justify-content:center;
    gap:8px;
    color:#AEC4E3;
    font-size:12px;
    text-align:center;
    padding:16px;
  }
  .livetv-player .no-source svg{opacity:.5;}
  .livetv-text h2{
    font-family:var(--font-display);
    color:#fff;
    font-size:22px;
    font-weight:400;
    margin-bottom:6px;
  }
  .livetv-text p{
    color:#AEC4E3;
    font-size:13.5px;
  }
  .livetv-text .livetv-hint{
    display:flex;
    align-items:center;
    gap:7px;
    margin-top:10px;
    font-size:11.5px;
    color:#8FAAD4;
  }
  .livetv-text .livetv-hint svg{flex-shrink:0;opacity:.8;}

  /* ===== Inner pages (About, Contact, Privacy, Terms) ===== */
  .inner-page-hero{
    background:linear-gradient(135deg, var(--indigo) 0%, var(--indigo-deep) 100%);
    padding:42px 0 36px;
    margin-bottom:36px;
    position:relative;
    overflow:hidden;
  }
  .inner-page-hero::before{
    content:"";
    position:absolute;
    right:-60px;top:-60px;
    width:320px;height:320px;
    border-radius:50%;
    background:rgba(255,255,255,.04);
  }
  .inner-page-hero::after{
    content:"";
    position:absolute;
    left:30%;bottom:-80px;
    width:200px;height:200px;
    border-radius:50%;
    background:rgba(255,255,255,.03);
  }
  .bb-breadcrumb{
    display:flex;
    align-items:center;
    gap:8px;
    font-size:12.5px;
    color:rgba(255,255,255,.6);
    margin-bottom:16px;
  }
  .bb-breadcrumb a{color:rgba(255,255,255,.7);transition:color .15s;}
  .bb-breadcrumb a:hover{color:#fff;}
  .inner-page-hero h1{
    font-family:var(--font-display);
    font-size:36px;
    font-weight:400;
    color:#fff;
    line-height:1.25;
    margin-bottom:12px;
  }
  .inner-page-hero .page-intro{
    font-size:15px;
    color:rgba(255,255,255,.75);
    max-width:560px;
    line-height:1.6;
    margin:0;
  }
  /* Inner page body container */
  .inner-page-body{
    display:grid;
    grid-template-columns:1fr;
    gap:24px;
    padding-bottom:48px;
  }
  .inner-page-body.with-sidebar{
    grid-template-columns:2fr 1fr;
    align-items:start;
  }
  /* Styled content block */
  .page-block{
    background:var(--white);
    border:1px solid var(--line);
    border-radius:14px;
    padding:32px;
  }
  .page-block h2{
    font-family:var(--font-display);
    font-size:24px;
    font-weight:400;
    color:var(--indigo);
    margin-bottom:16px;
    padding-bottom:12px;
    border-bottom:2px solid var(--indigo);
    display:flex;align-items:center;gap:10px;
  }
  .page-block h2::before{
    content:"";
    width:6px;height:22px;
    background:var(--coral);
    border-radius:2px;
    flex-shrink:0;
  }
  .page-block h3{
    font-family:var(--font-display);
    font-size:18px;
    font-weight:400;
    color:var(--indigo);
    margin:24px 0 10px;
  }
  .page-block p{font-size:15px;line-height:1.8;color:#2A3650;margin-bottom:14px;}
  .page-block p:last-child{margin-bottom:0;}
  .page-block ul,.page-block ol{
    padding-left:20px;
    margin-bottom:14px;
  }
  .page-block li{font-size:14.5px;line-height:1.75;color:#2A3650;margin-bottom:5px;}
  .page-block a{color:var(--signal);text-decoration:underline;}
  .page-block a:hover{color:var(--coral);}
  /* Last updated notice */
  .page-updated{
    font-size:12px;
    color:var(--muted);
    margin-bottom:20px;
    padding:8px 14px;
    background:var(--paper-deep);
    border-radius:6px;
    display:inline-flex;
    align-items:center;
    gap:6px;
  }
  /* Mission stat boxes */
  .bb-stats{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:16px;
    margin:24px 0;
  }
  .bb-stat{
    background:var(--paper);
    border-radius:12px;
    padding:20px;
    text-align:center;
    border:1px solid var(--line);
  }
  .bb-stat .num{
    font-family:var(--font-brand);
    font-size:32px;
    font-weight:700;
    color:var(--signal);
    display:block;
    margin-bottom:4px;
  }
  .bb-stat .lbl{font-size:12px;color:var(--muted);font-weight:600;}
  /* Team cards */
  .bb-team{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:16px;
    margin:24px 0;
  }
  .bb-team-card{
    text-align:center;
    background:var(--paper);
    border-radius:12px;
    padding:20px 16px;
    border:1px solid var(--line);
  }
  .bb-team-card .avatar{
    width:72px;height:72px;
    border-radius:50%;
    background:linear-gradient(135deg,var(--signal) 0%,var(--indigo) 100%);
    margin:0 auto 12px;
    display:flex;align-items:center;justify-content:center;
    font-family:var(--font-brand);
    font-size:24px;
    font-weight:700;
    color:#fff;
  }
  .bb-team-card h4{
    font-family:var(--font-display);
    font-size:15px;
    font-weight:400;
    color:var(--indigo);
    margin-bottom:4px;
  }
  .bb-team-card p{font-size:12px;color:var(--muted);margin:0;}
  /* Contact form */
  .bb-contact-form{display:flex;flex-direction:column;gap:16px;}
  .bb-form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
  .bb-field{display:flex;flex-direction:column;gap:6px;}
  .bb-field label{font-size:13px;font-weight:600;color:var(--indigo);}
  .bb-field input,.bb-field textarea,.bb-field select{
    border:1px solid var(--line);
    border-radius:8px;
    padding:11px 14px;
    font-family:var(--font-body);
    font-size:14px;
    color:var(--ink);
    outline:none;
    transition:border-color .15s;
    background:#fff;
  }
  .bb-field input:focus,.bb-field textarea:focus,.bb-field select:focus{
    border-color:var(--signal);
    box-shadow:0 0 0 3px rgba(30,111,217,.08);
  }
  .bb-field textarea{resize:vertical;min-height:120px;}
  .bb-submit{
    background:var(--signal);
    color:#fff;
    border:none;
    border-radius:8px;
    padding:13px 28px;
    font-family:var(--font-body);
    font-size:15px;
    font-weight:700;
    cursor:pointer;
    align-self:flex-start;
    transition:background .15s, transform .15s;
  }
  .bb-submit:hover{background:var(--indigo);transform:translateY(-1px);}
  /* Contact info sidebar */
  .contact-info-card{
    background:var(--white);
    border:1px solid var(--line);
    border-radius:14px;
    padding:24px;
  }
  .contact-info-card h3{
    font-family:var(--font-display);
    font-size:18px;
    font-weight:400;
    color:var(--indigo);
    margin-bottom:20px;
    padding-bottom:10px;
    border-bottom:1px solid var(--line);
  }
  .contact-row{
    display:flex;
    gap:14px;
    align-items:flex-start;
    padding:12px 0;
    border-bottom:1px solid var(--paper-deep);
  }
  .contact-row:last-child{border-bottom:none;}
  .contact-row .icon{
    width:38px;height:38px;
    border-radius:8px;
    background:var(--paper-deep);
    display:flex;align-items:center;justify-content:center;
    flex-shrink:0;
    color:var(--signal);
  }
  .contact-row .info strong{font-size:12px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;display:block;margin-bottom:3px;}
  .contact-row .info span{font-size:14px;color:var(--ink);}
  .social-links-row{display:flex;gap:10px;margin-top:18px;flex-wrap:wrap;}
  .social-links-row a{
    display:flex;align-items:center;gap:6px;
    background:var(--paper-deep);
    color:var(--indigo);
    font-size:12.5px;font-weight:600;
    padding:7px 12px;border-radius:20px;
    transition:all .15s;
  }
  .social-links-row a:hover{background:var(--signal);color:#fff;}
  /* Policy section divider */
  .policy-section{margin-bottom:28px;}
  .policy-section:last-child{margin-bottom:0;}
  /* Responsive inner pages */
  @media (max-width:768px){
    .bb-stats{grid-template-columns:1fr 1fr;}
    .bb-team{grid-template-columns:1fr 1fr;}
    .bb-form-row{grid-template-columns:1fr;}
    .inner-page-body.with-sidebar{grid-template-columns:1fr;}
    .inner-page-hero h1{font-size:26px;}
    .page-block{padding:20px;}
  }
  @media (max-width:480px){
    .bb-stats{grid-template-columns:1fr;}
    .bb-team{grid-template-columns:1fr;}
  }

  /* ===== Section header ===== */
  .section{
    display:block;
    padding:0 0 8px;
    margin-bottom:32px;
  }
  .section:last-child{margin-bottom:0;}
  .section-head{
    display:flex;
    align-items:baseline;
    justify-content:space-between;
    margin-bottom:18px;
    padding-bottom:12px;
    border-bottom:2px solid var(--indigo);
  }
  .section-head h2{
    font-family:var(--font-display);
    font-size:23px;
    font-weight:400;
    color:var(--indigo);
    display:flex;
    align-items:center;
    gap:10px;
  }
  .section-head h2::before{
    content:"";
    width:6px;height:22px;
    background:var(--coral);
    border-radius:2px;
    display:inline-block;
  }
  .section-head .view-all{
    font-size:12.5px;
    font-weight:600;
    color:var(--signal);
    display:flex;align-items:center;gap:4px;
    flex-shrink:0;
    transition:gap .15s, color .15s;
  }
  .section-head .view-all:hover{gap:7px;color:var(--coral);}

  /* ===== News card grid ===== */
  .news-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:18px;
  }
  .news-card{display:flex;flex-direction:column;}
  .news-card .thumb{
    aspect-ratio:16/10;
    border-radius:10px;
    overflow:hidden;
    background:var(--paper-deep);
    margin-bottom:10px;
    position:relative;
    box-shadow:0 1px 3px rgba(10,61,98,.06);
  }
  .news-card .thumb img{width:100%;height:100%;object-fit:cover;transition:transform .4s cubic-bezier(.2,.8,.2,1);}
  .news-card:hover .thumb img{transform:scale(1.07);}
  .news-card .thumb::after{
    content:"";
    position:absolute;inset:0;
    box-shadow:inset 0 0 0 1px rgba(10,61,98,.06);
    border-radius:10px;
    pointer-events:none;
  }
  .news-card .cat-tag{
    position:absolute;top:10px;left:10px;
    background:rgba(10,61,98,.88);
    backdrop-filter:blur(2px);
    color:#fff;font-size:10.5px;font-weight:700;
    padding:4px 10px;border-radius:4px;
  }
  .news-card h3{
    font-family:var(--font-display);
    font-size:16.5px;
    font-weight:400;
    line-height:1.45;
    color:var(--ink);
    transition:color .15s;
  }
  .news-card:hover h3{color:var(--signal);}
  .news-card .time{
    font-size:11.5px;
    color:var(--muted);
    margin-top:8px;
    display:flex;
    align-items:center;
    gap:5px;
  }
  .news-card .time::before{
    content:"";
    width:4px;height:4px;
    border-radius:50%;
    background:var(--signal-light);
    flex-shrink:0;
  }

  /* Mixed layout: 1 featured + list, used for alternating sections */
  .mixed-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:24px;
    align-items:start;
  }
  .feature-post{
    display:block; /* was missing — .feature-post is an <a>, which defaults to
                       inline and collapses its height, causing the next
                       section to ride up over the image/text. */
  }
  .feature-post .thumb{
    aspect-ratio:16/11;
    border-radius:10px;
    overflow:hidden;
    margin-bottom:16px;
    display:block;
  }
  .feature-post .thumb img{width:100%;height:100%;object-fit:cover;display:block;}
  .feature-post h3{
    font-family:var(--font-display);
    font-size:22px;
    font-weight:400;
    line-height:1.4;
    color:var(--ink);
    display:block;
  }
  .feature-post p{
    font-size:13.5px;
    color:var(--muted);
    margin-top:10px;
    line-height:1.6;
    display:block;
  }
  .list-post{
    display:flex;
    gap:14px;
    padding:14px 0;
    border-bottom:1px solid var(--line);
  }
  .list-post:first-child{padding-top:0;}
  .list-post:last-child{border-bottom:none;}
  .list-post .num{
    font-family:var(--font-display);
    font-size:26px;
    color:var(--paper-deep);
    -webkit-text-stroke:1.5px var(--line);
    color:transparent;
    font-weight:700;
    width:32px;
    flex-shrink:0;
  }
  .list-post .thumb{
    width:84px;height:64px;
    border-radius:7px;
    overflow:hidden;
    flex-shrink:0;
    background:var(--paper-deep);
  }
  .list-post .thumb img{width:100%;height:100%;object-fit:cover;}
  .list-post h4{
    font-family:var(--font-display);
    font-size:14.5px;
    font-weight:400;
    line-height:1.45;
    color:var(--ink);
  }
  .list-post:hover h4{color:var(--signal);}

  /* ===== Standalone "List" layout (full-width numbered list, no feature post) ===== */
  .list-layout{
    background:var(--white);
    border:1px solid var(--line);
    border-radius:12px;
    padding:8px 20px;
  }
  .list-layout .list-post{padding:16px 0;}
  .list-layout .list-post .thumb{width:96px;height:72px;}

  /* ===== Carousel / Slider layout (horizontal scroll) ===== */
  .carousel-layout{
    display:flex;
    gap:18px;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    padding-bottom:8px;
    margin-bottom:-8px;
    scrollbar-width:thin;
    scrollbar-color:var(--signal-light) var(--paper-deep);
  }
  .carousel-layout::-webkit-scrollbar{height:6px;}
  .carousel-layout::-webkit-scrollbar-track{background:var(--paper-deep);border-radius:4px;}
  .carousel-layout::-webkit-scrollbar-thumb{background:var(--signal-light);border-radius:4px;}
  .carousel-layout .news-card{
    flex:0 0 260px;
    scroll-snap-align:start;
  }
  @media (max-width:600px){
    .carousel-layout .news-card{flex-basis:200px;}
  }

  /* ===== Section layout toggle wrapper ===== */
  .section[data-layout="list"] .section-body,
  .section[data-layout="carousel"] .section-body{display:block;}

  /* ===== Web Stories strip — portrait card style matching reference design ===== */
  .webstories{
    padding:0;
  }
  .webstories .section-head{
    margin-bottom:16px;
  }
  .webstories-wrap{
    position:relative;
  }
  .webstories-wrap::before,
  .webstories-wrap::after{
    content:"";
    position:absolute;
    top:0;bottom:8px;
    width:36px;
    pointer-events:none;
    z-index:2;
  }
  .webstories-wrap::before{
    left:0;
    background:linear-gradient(90deg, var(--paper) 0%, rgba(244,247,251,0) 100%);
  }
  .webstories-wrap::after{
    right:0;
    background:linear-gradient(270deg, var(--paper) 0%, rgba(244,247,251,0) 100%);
  }
  .webstories-track{
    display:flex;
    gap:14px;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    padding:4px 4px 10px;
    scrollbar-width:none;
  }
  .webstories-track::-webkit-scrollbar{display:none;}
  .webstory-item{
    display:block;
    flex:0 0 168px;
    scroll-snap-align:start;
    text-decoration:none;
    position:relative;
    aspect-ratio:9/16;
    border-radius:16px;
    overflow:hidden;
    background:var(--indigo-deep);
    box-shadow:0 4px 14px rgba(10,61,98,.16);
    transition:transform .25s cubic-bezier(.2,.8,.2,1), box-shadow .25s;
  }
  .webstory-item:hover{
    transform:translateY(-5px);
    box-shadow:0 12px 26px rgba(10,61,98,.26);
  }
  .webstory-item img{
    position:absolute;inset:0;
    width:100%;height:100%;
    object-fit:cover;
    transition:transform .35s;
  }
  .webstory-item:hover img{transform:scale(1.07);}
  .webstory-item .overlay{
    position:absolute;inset:0;
    background:linear-gradient(0deg, rgba(0,0,0,.85) 0%, rgba(0,0,0,.45) 32%, rgba(0,0,0,0) 58%);
  }
  .webstory-item h4{
    position:absolute;
    left:0;right:0;bottom:0;
    padding:14px 12px;
    font-size:13px;
    font-weight:600;
    line-height:1.45;
    color:#fff;
    margin:0;
    display:-webkit-box;
    -webkit-line-clamp:3;
    -webkit-box-orient:vertical;
    overflow:hidden;
    text-shadow:0 1px 3px rgba(0,0,0,.3);
  }
  .webstory-item.add-story{
    background:var(--white);
    border:2px dashed var(--line);
    box-shadow:none;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:8px;
  }
  .webstory-item.add-story span.plus{
    font-size:32px;
    color:var(--signal);
    line-height:1;
  }
  .webstory-item.add-story span.label{
    font-size:12px;
    font-weight:600;
    color:var(--muted);
  }
  .webstory-item.add-story:hover{
    transform:none;
    border-color:var(--signal-light);
  }

  /* ===== Sidebar widgets (rashifal / weather style) ===== */
  .two-col-section{
    display:grid;
    grid-template-columns:2fr 1fr;
    gap:24px;
  }
  .widget-card{
    background:var(--white);
    border:1px solid var(--line);
    border-radius:12px;
    padding:20px;
    transition:box-shadow .2s, border-color .2s;
  }
  .widget-card:hover{box-shadow:0 6px 18px rgba(10,61,98,.08);border-color:var(--signal-light);}
  .widget-card h3{
    font-family:var(--font-display);
    font-size:17px;
    color:var(--indigo);
    margin-bottom:14px;
    padding-bottom:10px;
    border-bottom:1px dashed var(--line);
  }
  .weather-row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:10px 0;
  }
  .weather-row .city{font-size:13.5px;font-weight:600;}
  .weather-row .temp{font-size:13.5px;color:var(--muted);}
  .rashi-pill{
    display:inline-flex;
    align-items:center;
    gap:6px;
    background:var(--paper-deep);
    padding:6px 12px;
    border-radius:16px;
    font-size:12px;
    font-weight:600;
    color:var(--indigo);
    margin:4px 4px 4px 0;
  }

  /* ===== Newsletter band ===== */
  .newsletter{
    background:linear-gradient(120deg, var(--indigo) 0%, var(--indigo-deep) 100%);
    border-radius:16px;
    padding:36px 40px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
    margin-bottom:36px;
    flex-wrap:wrap;
  }
  .newsletter h2{
    font-family:var(--font-display);
    color:#fff;
    font-size:24px;
    font-weight:400;
    margin-bottom:6px;
  }
  .newsletter p{color:#AEC4E3;font-size:13.5px;}
  .newsletter form{
    display:flex;
    gap:10px;
    flex-shrink:0;
  }
  .newsletter input{
    border:none;
    border-radius:24px;
    padding:13px 20px;
    font-size:13.5px;
    font-family:var(--font-body);
    width:240px;
    outline:none;
  }
  .newsletter button{
    background:var(--coral);
    color:#fff;
    border:none;
    border-radius:24px;
    padding:13px 26px;
    font-weight:700;
    font-size:13.5px;
    font-family:var(--font-body);
    cursor:pointer;
    transition:background .15s;
  }
  .newsletter button:hover{background:var(--coral-deep);}

  /* ===== Footer ===== */
  footer{
    background:var(--indigo-deep);
    color:#AEC4E3;
    padding-top:48px;
  }
  .footer-grid{
    display:grid;
    grid-template-columns:1.4fr 1fr 1fr 1fr;
    gap:32px;
    padding-bottom:36px;
    border-bottom:1px solid rgba(255,255,255,.08);
  }
  .footer-brand .brand-text .name{color:#fff;}
  .footer-brand p{
    font-size:13px;
    line-height:1.7;
    margin:14px 0 18px;
    color:#9FB4D4;
    max-width:280px;
  }
  .footer-brand .contact-line{
    font-size:13px;
    margin-bottom:6px;
    color:#C9D8EE;
  }
  .footer-social{display:flex;gap:10px;margin-top:16px;}
  .footer-social a{
    width:34px;height:34px;
    border-radius:50%;
    border:1px solid rgba(255,255,255,.15);
    display:flex;align-items:center;justify-content:center;
    transition:all .15s;
  }
  .footer-social a:hover{background:var(--signal);border-color:var(--signal);}
  .footer-col h4{
    font-family:var(--font-display);
    color:#fff;
    font-size:15.5px;
    font-weight:400;
    margin-bottom:16px;
  }
  .footer-col ul li{margin-bottom:11px;}
  .footer-col ul a{font-size:13px;color:#9FB4D4;transition:color .15s;}
  .footer-col ul a:hover{color:#fff;}
  .footer-bottom{
    padding:20px 0;
    display:flex;
    justify-content:space-between;
    align-items:center;
    font-size:12.5px;
    color:#7E94BA;
    flex-wrap:wrap;
    gap:10px;
  }
  .footer-bottom a{color:#9FB4D4;}

  /* ===== Responsive ===== */

  /* Tablet */
  @media (max-width:980px){
    .hero-grid{grid-template-columns:1fr;}
    .news-grid{grid-template-columns:repeat(3,1fr);}
    .mixed-grid{grid-template-columns:1fr;}
    .two-col-section{grid-template-columns:1fr;}
    .footer-grid{grid-template-columns:1fr 1fr;}
    .livetv .wrap{flex-wrap:wrap;}
    .livetv-player{width:280px;}
    .wrap{padding:0 18px;}
  }

  /* Mobile nav drawer */
  @media (max-width:860px){
    .nav-toggle{display:flex;}
    nav.primary{
      max-height:0;
      overflow:hidden;
      transition:max-height .3s ease;
    }
    nav.primary.open{max-height:480px;}
    nav.primary .wrap{
      overflow-x:visible;
      padding:0;
    }
    nav.primary ul{
      flex-direction:column;
      width:100%;
      padding:6px 20px 14px;
    }
    nav.primary a{
      padding:12px 4px;
      border-bottom:1px solid rgba(255,255,255,.08);
      border-left:3px solid transparent;
      width:100%;
    }
    nav.primary a:hover, nav.primary a.active{
      border-bottom-color:rgba(255,255,255,.08);
      border-left-color:var(--coral);
      padding-left:12px;
    }
  }

  /* Small tablet / large phone */
  @media (max-width:768px){
    .news-grid{grid-template-columns:repeat(2,1fr);}
    .hero-main h1{font-size:25px;}
    .section-head h2{font-size:20px;}
    .newsletter{padding:28px;flex-direction:column;align-items:flex-start;}
    .newsletter form{width:100%;}
    .newsletter input{flex:1;width:auto;}
  }

  /* Phone */
  @media (max-width:600px){
    .wrap{padding:0 16px;}
    .topbar .date{font-size:11.5px;}
    .topbar .social a:nth-child(n+3){display:none;}
    .header-inner{padding:12px 16px;}
    .brand-mark{width:40px;height:40px;}
    .brand-mark svg{width:20px;height:20px;}
    .brand-text .name{font-size:19px;}
    .brand-text .tagline{font-size:10px;}
    .header-actions{gap:10px;}
    .live-pill span.label{display:none;}
    .live-pill{padding:8px;width:34px;height:34px;justify-content:center;}
    .live-pill .dot{position:relative;}
    .search-btn{width:34px;height:34px;}
    .nav-toggle{width:34px;height:34px;}
    .header-ad-slot{display:none;}
    header.main.logo-center .header-inner{grid-template-columns:1fr auto 1fr;}

    .webstory-item{flex-basis:118px;}
    .webstory-item h4{font-size:11px;padding:10px 8px;}
    .webstory-item .ring{width:24px;height:24px;top:8px;left:8px;}
    .webstories-wrap::before,
    .webstories-wrap::after{width:20px;}

    .ticker-tag{font-size:10.5px;padding:4px 10px 4px 8px;}
    .ticker-items a{font-size:12.5px;}

    .hero-section{padding:18px 0;}
    .hero-main .overlay{padding:18px;}
    .hero-main h1{font-size:19px;max-width:100%;}
    .cat-chip{font-size:10.5px;padding:4px 10px;}
    .hero-main .meta{font-size:11px;}
    .hero-side-item .thumb{width:78px;height:60px;}
    .hero-side-item .txt h3{font-size:14px;}

    .livetv{padding:18px 0;}
    .livetv .wrap{gap:14px;flex-direction:column;align-items:stretch;}
    .livetv-player{width:100%;}
    .livetv-text h2{font-size:17px;}
    .livetv-text p{font-size:12px;}

    .section{padding-bottom:6px;margin-bottom:24px;}
    .section-head{margin-bottom:14px;padding-bottom:10px;}
    .section-head h2{font-size:18px;gap:8px;}
    .section-head h2::before{width:5px;height:18px;}
    .section-head .view-all{font-size:11.5px;}

    .news-grid{grid-template-columns:1fr 1fr;gap:12px;}
    .news-card h3{font-size:14.5px;}
    .news-card .thumb{margin-bottom:8px;}

    .feature-post h3{font-size:18px;}
    .feature-post p{font-size:12.5px;}
    .list-post{gap:10px;padding:11px 0;}
    .list-post .thumb{width:68px;height:52px;}
    .list-post h4{font-size:13px;}
    .list-post .num{width:22px;font-size:20px;}

    .widget-card{padding:16px;}
    .widget-card h3{font-size:15.5px;}

    .footer-grid{grid-template-columns:1fr;gap:28px;padding-bottom:28px;}
    .footer-brand p{max-width:100%;}
    footer{padding-top:32px;}
    .footer-bottom{flex-direction:column;align-items:flex-start;text-align:left;}
  }

  /* Very small phones */
  @media (max-width:380px){
    .news-grid{grid-template-columns:1fr;}
    .hero-main h1{font-size:17px;}
    .brand-text .tagline{display:none;}
  }

  /* Reduced motion */
  @media (prefers-reduced-motion: reduce){
    .ticker-items{animation:none;}
    .live-pill .dot, .livetv-player .badge .dot{animation:none;}
    html{scroll-behavior:auto;}
    *{transition-duration:.01ms !important;animation-duration:.01ms !important;}
  }

  /* Focus visibility */
  a:focus-visible, button:focus-visible, input:focus-visible{
    outline:2px solid var(--signal);
    outline-offset:2px;
    border-radius:4px;
  }

/* ==========================================================
   Single post 2-column layout
   ========================================================== */
.single-layout{
  display:grid;
  grid-template-columns:minmax(0,2fr) 320px;
  gap:28px;
  align-items:start;
}
@media(max-width:1020px){
  .single-layout{grid-template-columns:1fr;}
  .single-sidebar{order:2;}
}

/* ==========================================================
   Sidebar widget shared base
   ========================================================== */
.bb-widget{
  background:var(--white);
  border:1px solid var(--line);
  border-radius:12px;
  overflow:hidden;
  margin-bottom:20px;
}
.bb-widget:last-child{margin-bottom:0;}
.bb-widget-header{
  padding:14px 18px 0;
  border-bottom:2px solid var(--indigo);
  margin-bottom:0;
}
.bb-widget-title{
  font-family:var(--font-display);
  font-size:17px;
  font-weight:400;
  color:var(--indigo);
  padding-bottom:10px;
  display:flex;
  align-items:center;
  gap:8px;
  margin:0;
}
.bb-widget-title::before{
  content:"";
  width:5px;height:18px;
  background:var(--coral);
  border-radius:2px;
  flex-shrink:0;
}

/* ==========================================================
   Widget 1 — Thumbnail List
   ========================================================== */
.bb-thumb-list{list-style:none;padding:0;margin:0;}
.bb-tl-item{border-bottom:1px solid var(--paper-deep);}
.bb-tl-item:last-child{border-bottom:none;}
.bb-tl-link{
  display:flex;
  gap:12px;
  align-items:flex-start;
  padding:12px 18px;
  transition:background .15s;
}
.bb-tl-link:hover{background:var(--paper);}
.bb-tl-thumb{
  width:76px;height:58px;
  border-radius:7px;
  overflow:hidden;
  flex-shrink:0;
  background:var(--paper-deep);
}
.bb-tl-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .3s;}
.bb-tl-link:hover .bb-tl-thumb img{transform:scale(1.08);}
.bb-tl-body{display:flex;flex-direction:column;gap:3px;min-width:0;}
.bb-tl-cat{
  font-size:10.5px;font-weight:700;
  color:var(--signal);
  letter-spacing:.03em;
  text-transform:uppercase;
}
.bb-tl-title{
  font-family:var(--font-display);
  font-size:14px;font-weight:400;
  line-height:1.4;
  color:var(--ink);
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  transition:color .15s;
}
.bb-tl-link:hover .bb-tl-title{color:var(--signal);}
.bb-tl-time{font-size:11px;color:var(--muted);}

/* ==========================================================
   Widget 2 — Card Grid (2-column)
   ========================================================== */
.bb-cg-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1px;
  background:var(--line);
}
.bb-cg-item{
  display:flex;flex-direction:column;
  background:var(--white);
  padding:0 0 12px;
  transition:background .15s;
}
.bb-cg-item:hover{background:var(--paper);}
.bb-cg-thumb{
  display:block;
  aspect-ratio:4/3;
  overflow:hidden;
  background:var(--paper-deep);
  margin-bottom:8px;
}
.bb-cg-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .35s;}
.bb-cg-item:hover .bb-cg-thumb img{transform:scale(1.07);}
.bb-cg-cat{font-size:10px;font-weight:700;color:var(--signal);padding:0 10px;text-transform:uppercase;letter-spacing:.03em;}
.bb-cg-title{
  font-family:var(--font-display);
  font-size:13px;font-weight:400;
  line-height:1.4;
  color:var(--ink);
  padding:3px 10px 0;
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
  transition:color .15s;
}
.bb-cg-item:hover .bb-cg-title{color:var(--signal);}
.bb-cg-time{font-size:10px;color:var(--muted);padding:4px 10px 0;}

/* ==========================================================
   Widget 3 — Icon List
   ========================================================== */
.bb-il-list{list-style:none;padding:0;margin:0;counter-reset:bb-il;}
.bb-il-item{border-bottom:1px solid var(--paper-deep);}
.bb-il-item:last-child{border-bottom:none;}
.bb-il-link{
  display:flex;gap:12px;align-items:flex-start;
  padding:11px 18px;
  transition:background .15s;
}
.bb-il-link:hover{background:var(--paper);}
.bb-il-icon{
  font-size:18px;line-height:1;flex-shrink:0;
  width:28px;text-align:center;
  margin-top:1px;
}
.bb-il-num{
  font-family:var(--font-display);
  font-size:20px;font-weight:700;
  -webkit-text-stroke:1.5px var(--line);
  color:transparent;
  flex-shrink:0;
  width:24px;text-align:center;
}
.bb-il-body{display:flex;flex-direction:column;gap:3px;min-width:0;}
.bb-il-title{
  font-family:var(--font-display);
  font-size:14px;font-weight:400;line-height:1.4;
  color:var(--ink);
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
  transition:color .15s;
}
.bb-il-link:hover .bb-il-title{color:var(--signal);}
.bb-il-meta{font-size:11px;color:var(--muted);}

/* ==========================================================
   Widget 4 — Big Feature Card
   ========================================================== */
.bb-bf-feature{
  display:block;
  padding:0 0 14px;
  border-bottom:1px solid var(--line);
  transition:background .15s;
}
.bb-bf-feature:hover{background:var(--paper);}
.bb-bf-thumb{
  display:block;
  aspect-ratio:16/9;
  overflow:hidden;
  position:relative;
  background:var(--paper-deep);
  margin-bottom:10px;
}
.bb-bf-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .35s;}
.bb-bf-feature:hover .bb-bf-thumb img{transform:scale(1.05);}
.bb-bf-cat{
  position:absolute;bottom:8px;left:10px;
  background:var(--signal);color:#fff;
  font-size:10.5px;font-weight:700;
  padding:3px 10px;border-radius:4px;
}
.bb-bf-title{
  font-family:var(--font-display);
  font-size:16px;font-weight:400;line-height:1.4;
  color:var(--ink);
  padding:0 14px;
  display:block;
  transition:color .15s;
}
.bb-bf-feature:hover .bb-bf-title{color:var(--signal);}
.bb-bf-excerpt{
  font-size:12.5px;color:var(--muted);
  line-height:1.6;
  padding:5px 14px 0;
  display:block;
}
.bb-bf-time{font-size:11px;color:var(--muted);padding:5px 14px 0;display:block;}
.bb-bf-list{list-style:none;padding:0;margin:0;}
.bb-bf-list li{border-bottom:1px solid var(--paper-deep);}
.bb-bf-list li:last-child{border-bottom:none;}
