
.flex-between { display: flex; justify-content: space-between; align-items: center; }
.flex-center { display: flex; justify-content: center; align-items: center; }
.align-center { align-items: center; }

.ibn-topbar { background-color: #111; color: #fff; font-size: 13px; padding: 5px 0; border-bottom: 1px solid #333; }
.top-links a { color: #ccc; margin-right: 15px; font-weight: bold; }
.top-links a:hover { color: #fff; }

.ibn-header { background: #fff; padding: 20px 0; }
.logo-text { font-size: 40px; font-weight: 900; color: #111; line-height: 1; font-family: Arial, sans-serif; }
.logo-text span { color: #cc0000; }
.tagline { color: #666; font-size: 14px; font-weight: bold; }
.ad-placeholder { background: #e8e8e8; border: 1px dashed #ccc; color: #888; text-align: center; display: flex; justify-content: center; align-items: center; height: 90px; }

.ibn-navbar { 
    background-color: #ffffff; 
    border-bottom: 1px solid #e0e0e0; 
    position: sticky; top: 0; z-index: 1000; 
    box-shadow: 0 2px 4px rgba(0,0,0,0.05); 
}
.main-menu { 
    display: flex; margin: 0; padding: 0; list-style: none; align-items: center; overflow-x: auto; 
}
.main-menu li { list-style: none; white-space: nowrap; }
.main-menu li a { 
    display: block; color: #333333; padding: 12px 14px; font-size: 17px; font-weight: bold; transition: color 0.2s; 
}
.main-menu li a:hover { color: #cc0000; }

.main-menu li.live-tv a { 
    background-color: #e3000f; color: #ffffff; padding: 6px 15px; border-radius: 4px; margin: 8px 10px; line-height: 1.2; font-size: 16px;
}
.main-menu li.live-tv a:hover { background-color: #b3000b; color: #ffffff; }

.main-menu li.home-btn a { 
    background-color: #f39c12; color: #ffffff; padding: 15px 22px; 
}
.main-menu li.home-btn a:hover { background-color: #d68910; color: #ffffff; }

.main-menu li.highlight-red a { color: #e3000f; }

.ibn-ticker { background: #1a1a1a; color: #fff; display: flex; align-items: center; border-bottom: 2px solid #cc0000; }
.ticker-label { background: #cc0000; color: #fff; padding: 8px 15px; font-weight: bold; font-size: 16px; z-index: 2; }
.ticker-scroll { flex-grow: 1; font-size: 18px; padding: 8px 0; font-weight: bold; }

.section-title { border-bottom: 3px solid #ddd; margin-bottom: 20px; position: relative; margin-top: 20px; }
.section-title span { background: #cc0000; color: #fff; padding: 5px 15px; display: inline-block; font-size: 20px; position: relative; bottom: -3px; }

.timeline-list { background: #fff; border: 1px solid #ddd; padding: 15px; }
.timeline-list li { padding: 12px 0; border-bottom: 1px dashed #eee; display: flex; flex-direction: column; }
.timeline-list .time { color: #cc0000; font-size: 12px; font-weight: bold; font-family: Tahoma; }
.timeline-list a { font-size: 16px; font-weight: bold; color: #111; }

.hero-post { background: #fff; border: 1px solid #ddd; padding: 10px; margin-top: 20px;}
.placeholder-img { background: #ccc; width: 100%; aspect-ratio: 16/9; }
.hero-title { font-size: 28px; font-weight: bold; margin: 15px 0 10px; color: #111; }

.side-card { display: flex; margin-bottom: 15px; background: #fff; padding: 10px; border: 1px solid #ddd; }
.side-card .img { width: 90px; flex-shrink: 0; margin-left: 10px; }
.side-card h4 a { font-size: 15px; font-weight: bold; color: #111; }

.ibn-footer { background: #111; color: #ccc; margin-top: 40px; padding: 40px 0; }
.footer-logo { font-size: 30px; font-family: Arial; color: #fff; margin-bottom: 15px; }
.footer-logo span { color: #cc0000; }
