/* =========================================================
   BCC24 News - Custom Styles
   ========================================================= */

/* ---------- ROOT VARIABLES ---------- */
:root {
    --bcc24-red: #c1121f;
    --bcc24-red-dark: #a4161a;
    --bcc24-orange: #e85d04;
    --bcc24-gold: #fca311;
    --bcc24-blue: #023e8a;
    --bcc24-sky: #0096c7;
    --bcc24-green: #2d6a4f;
    --bcc24-teal: #0d9488;
    --bcc24-purple: #7b2cbf;
    --bcc24-pink: #e91e8c;
    --gradient-hero: linear-gradient(135deg, #c1121f 0%, #e85d04 50%, #fca311 100%);
    --gradient-cricket: linear-gradient(135deg, #2d6a4f, #40916c);
    --gradient-football: linear-gradient(135deg, #023e8a, #0096c7);
    --gradient-kabaddi: linear-gradient(135deg, #e85d04, #fca311);
    --gradient-tennis: linear-gradient(135deg, #7b2cbf, #c77dff);
    --gradient-weather: linear-gradient(135deg, #0096c7, #48cae4);
    --gradient-pollution: linear-gradient(135deg, #e85d04, #c1121f);
    --gradient-rashi: linear-gradient(135deg, #7b2cbf, #e91e8c);
    --shadow-card: 0 2px 12px rgba(0,0,0,.08);
    --shadow-hover: 0 8px 25px rgba(0,0,0,.15);
    --radius: .75rem;
}

/* ---------- GENERAL ---------- */
body { font-family: 'Noto Sans Devanagari', sans-serif; }
a { transition: color .2s; }
img { object-fit: cover; }
.dot-live { display:inline-block;width:8px;height:8px;border-radius:50%;background:#c1121f;animation:pulse-live 1.2s infinite; }
@keyframes pulse-live { 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:.4;transform:scale(.7)} }

/* ---------- SECTION TITLE BAR ---------- */
.section-title-bar { padding:.5rem 0; border-bottom: 3px solid var(--bcc24-red); }
.section-title { font-size:1.25rem; font-weight:800; color:var(--bcc24-red); }

/* ---------- HERO SLIDER ---------- */
.hero-slider { position:relative; border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow-card); }
.hero-slider .carousel-item { height:480px; }
.hero-slider .carousel-item img { width:100%; height:100%; object-fit:cover; }
.hero-slider .carousel-caption { background:linear-gradient(transparent, rgba(0,0,0,.85)); padding:2rem 1.5rem 1.5rem; border-radius:0 0 var(--radius) var(--radius); }
.hero-slider .carousel-caption h2 { font-size:1.6rem; font-weight:800; line-height:1.3; }
.hero-slider .carousel-indicators button { width:12px;height:12px;border-radius:50%;border:2px solid #fff;background:transparent; }
.hero-slider .carousel-indicators .active { background:var(--bcc24-red); }
@media(max-width:768px){ .hero-slider .carousel-item { height:300px; } .hero-slider .carousel-caption h2 { font-size:1.1rem; } }

/* ---------- QUICK LINKS BAR ---------- */
.quick-links-bar { background:var(--gradient-hero); border-radius:var(--radius); padding:.75rem 1rem; }
.quick-links-bar a { color:#fff; text-decoration:none; font-weight:600; font-size:.85rem; padding:.4rem .8rem; border-radius:2rem; transition:background .2s; }
.quick-links-bar a:hover { background:rgba(255,255,255,.2); }
.quick-links-bar a.active { background:rgba(255,255,255,.25); }

/* ---------- SPORTS SCORES ---------- */
.sports-strip { background:#1a1a2e; border-radius:var(--radius); overflow:hidden; }
.sports-strip .nav-pills .nav-link { color:rgba(255,255,255,.7); border-radius:2rem; font-weight:600; font-size:.85rem; }
.sports-strip .nav-pills .nav-link.active { background:var(--bcc24-red); color:#fff; }
.match-card { background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.1); border-radius:var(--radius); padding:1rem; transition:transform .2s,box-shadow .2s; }
.match-card:hover { transform:translateY(-3px); box-shadow:0 6px 20px rgba(0,0,0,.3); }
.match-card .team-name { font-weight:700; font-size:1rem; }
.match-card .team-score { font-size:1.3rem; font-weight:800; color:var(--bcc24-gold); }
.match-card .match-status { font-size:.75rem; }
.match-card .match-venue { font-size:.75rem; color:rgba(255,255,255,.5); }
.match-vs { font-size:.75rem; color:rgba(255,255,255,.4); font-weight:600; }

/* ---------- RASHI SECTION ---------- */
.rashi-strip { background:var(--gradient-rashi); border-radius:var(--radius); padding:1.5rem; color:#fff; }
.rashi-card { background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.2); border-radius:var(--radius); padding:1rem; text-align:center; transition:transform .2s,background .2s; cursor:pointer; min-height:160px; }
.rashi-card:hover { transform:translateY(-5px); background:rgba(255,255,255,.22); }
.rashi-card .rashi-symbol { font-size:2.2rem; margin-bottom:.3rem; }
.rashi-card .rashi-name { font-weight:700; font-size:.9rem; }
.rashi-card .rashi-mood { font-size:.7rem; opacity:.8; margin-top:.2rem; }
.rashi-card.active { background:rgba(255,255,255,.3); border-color:#fff; }
.rashi-detail { background:rgba(255,255,255,.1); border-radius:var(--radius); padding:1rem; margin-top:.75rem; }

/* ---------- WEATHER & POLLUTION ---------- */
.weather-strip { background:var(--gradient-weather); border-radius:var(--radius); padding:1.25rem; color:#fff; }
.weather-card { background:rgba(255,255,255,.15); border:1px solid rgba(255,255,255,.2); border-radius:var(--radius); padding:1rem; transition:transform .2s; }
.weather-card:hover { transform:translateY(-3px); }
.weather-card .city-name { font-weight:700; font-size:.95rem; }
.weather-card .temp { font-size:1.8rem; font-weight:800; }
.weather-card .weather-icon { font-size:2rem; opacity:.8; }

.aqi-bar { height:8px; border-radius:4px; background:rgba(255,255,255,.2); overflow:hidden; margin-top:.3rem; }
.aqi-bar-fill { height:100%; border-radius:4px; transition:width .6s ease; }
.aqi-good { background:#2d6a4f; }
.aqi-satisfactory { background:#fca311; }
.aqi-poor { background:#e85d04; }
.aqi-very-poor { background:#c1121f; }
.aqi-severe { background:#370617; }

/* ---------- NEWS CARDS ---------- */
.card-hero { border:none; border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow-card); transition:transform .25s,box-shadow .25s; position:relative; }
.card-hero:hover { transform:translateY(-4px); box-shadow:var(--shadow-hover); }
.card-hero-img img { transition:transform .4s; }
.card-hero:hover .card-hero-img img { transform:scale(1.05); }
.card-hero-body { padding:1rem 1.25rem; position:relative; }

.card-medium { border:none; border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow-card); transition:transform .25s,box-shadow .25s; position:relative; }
.card-medium:hover { transform:translateY(-3px); box-shadow:var(--shadow-hover); }
.card-medium .card-img-wrap img { transition:transform .4s; }
.card-medium:hover .card-img-wrap img { transform:scale(1.06); }

.list-news-item { transition:background .2s; position:relative; }
.list-news-item:hover { background:rgba(206,18,31,.04); border-radius:var(--radius); }

.rank-num { font-size:1.5rem; font-weight:900; color:var(--bcc24-red); opacity:.3; min-width:30px; }

/* ---------- VIDEO / GALLERY CARDS ---------- */
.video-strip { background:linear-gradient(135deg, #1a1a2e, #16213e); border-radius:var(--radius); }
.video-card { border-radius:var(--radius); background:rgba(255,255,255,.08); transition:transform .2s; }
.video-card:hover { transform:translateY(-3px); }
.video-play-badge { position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:48px;height:48px;border-radius:50%;background:rgba(193,18,31,.85);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.2rem;transition:transform .2s; }
.video-card:hover .video-play-badge { transform:translate(-50%,-50%) scale(1.15); }

.gallery-card { height:220px; }
.gallery-overlay { position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent, rgba(0,0,0,.8)); }

/* ---------- BREAKING NEWS TICKER ---------- */
.breaking-ticker { background:var(--bcc24-red); color:#fff; overflow:hidden; white-space:nowrap; }
.breaking-ticker .ticker-label { background:#a4161a; padding:.4rem 1rem; font-weight:700; font-size:.85rem; }
.breaking-ticker .ticker-content { animation:ticker-scroll 30s linear infinite; padding:.4rem 0; font-size:.9rem; }
@keyframes ticker-scroll { 0%{transform:translateX(100%)} 100%{transform:translateX(-100%)} }

/* ---------- AD SLOTS ---------- */
.ad-slot { border:1px dashed #ddd; padding:1rem; text-align:center; border-radius:var(--radius); background:#f8f9fa; }
.ad-slot img { max-width:100%; height:auto; }

/* ---------- DARK MODE OVERRIDES ---------- */
[data-bs-theme="dark"] .card-hero, [data-bs-theme="dark"] .card-medium { background:#1a1a2e; }
[data-bs-theme="dark"] .card-hero-body, [data-bs-theme="dark"] .list-news-item { color:#e0e0e0; }
[data-bs-theme="dark"] .quick-links-bar { background:linear-gradient(135deg, #7b2cbf, #e91e8c); }
[data-bs-theme="dark"] .sports-strip { background:#0d1117; }
[data-bs-theme="dark"] .rashi-strip { background:linear-gradient(135deg, #5a189a, #9d4edd); }
[data-bs-theme="dark"] .weather-strip { background:linear-gradient(135deg, #0077b6, #00b4d8); }
[data-bs-theme="dark"] .rashi-card, [data-bs-theme="dark"] .match-card, [data-bs-theme="dark"] .weather-card { background:rgba(255,255,255,.08); border-color:rgba(255,255,255,.12); }

/* ---------- RESPONSIVE ---------- */
@media(max-width:991.98px){
    .hero-slider .carousel-item { height:280px; }
    .hero-slider .carousel-caption h2 { font-size:1rem; }
    .rashi-card { min-height:130px; padding:.75rem; }
    .rashi-card .rashi-symbol { font-size:1.6rem; }
    .match-card { padding:.75rem; }
}
@media(max-width:575.98px){
    .hero-slider .carousel-item { height:220px; }
    .hero-slider .carousel-caption h2 { font-size:.9rem; }
    .hero-slider .carousel-caption { padding:1rem; }
}

/* ---------- ANIMATIONS ---------- */
@keyframes fadeInUp { from{opacity:0;transform:translateY(20px)} to{opacity:1;transform:translateY(0)} }
.fade-in-up { animation:fadeInUp .5s ease-out; }

/* ---------- BACK TO TOP ---------- */
.back-to-top { width:44px;height:44px;z-index:999;bottom:80px;right:20px; }
.back-to-top:not(.d-none) { animation:fadeInUp .3s ease-out; }

/* ---------- BOTTOM NAV ---------- */
.bottom-nav { z-index:1040; padding-bottom:env(safe-area-inset-bottom); }
.bottom-nav a { color:var(--bs-body-color); }
.bottom-nav a:hover, .bottom-nav a.active { color:var(--bcc24-red); }

/* ---------- MOBILE MENU ---------- */
.main-navbar .navbar-toggler { font-size:1.3rem; }
.main-navbar .collapse:not(.show) { display:none; }
.main-navbar .collapse.show,
.main-navbar .collapsing {
    position:absolute; left:0; right:0; top:100%; z-index:1050;
    background:var(--bs-body-bg); border-top:1px solid var(--bs-border-color);
    box-shadow:0 8px 24px rgba(0,0,0,.15); max-height:70vh; overflow-y:auto;
}
.main-navbar .navbar-nav { flex-direction:column; width:100%; padding:.5rem 0; }
.main-navbar .navbar-nav .nav-link { padding:.6rem 1rem; white-space:nowrap; }
.main-navbar .navbar-nav .dropdown-menu { position:static; border:none; background:transparent; box-shadow:none; padding-left:1rem; }
@media (min-width:992px) {
    .main-navbar .collapse.show,
    .main-navbar .collapsing { position:static; box-shadow:none; border-top:none; max-height:none; overflow:visible; }
    .main-navbar .navbar-nav { flex-direction:row; flex-wrap:nowrap; }
}

/* ---------- AUTHOR BOX ---------- */
.author-box { border-left:4px solid var(--bcc24-red); }

/* ---------- TAG CLOUD ---------- */
.tag-cloud .badge:hover { background:var(--bcc24-red); color:#fff; border-color:var(--bcc24-red); }

/* ---------- PAGINATION ---------- */
.page-link { color:var(--bcc24-red); }
.page-item.active .page-link { background:var(--bcc24-red); border-color:var(--bcc24-red); }
