@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;700&family=Playfair+Display:wght@700&display=swap');
@import url('https://smc.org.in/fonts/gayathri.css');

body { font-family: 'Gayathri', 'Inter', sans-serif !important; } h1, h2, h3, h4, h5, h6 { font-weight: 700; }

.utility-bar-style { font-family: sans-serif; }
.utility-text-style { font-size: 12px; font-weight: 700; color: #212529; }
.utility-date-style { font-size: 11px; font-weight: 700; color: #6c757d !important; }
.utility-links-style { font-size: 13px; font-weight: 700; text-transform: uppercase; color: #fff; }
.lang-btn-style { font-size: 11px; font-weight: bold; }
.mobile-date-style { font-size: 12px; font-weight: 700; color: #6c757d; top: 5px; position: relative; }
.menu-text-style { font-size: 16px; }

/* --- Global Styles --- */
body { background-color: #ffffff !important; color: #212529; }

/* --- 1. Breaking News Ticker --- */
.ticker-container { background: #d32f2f; color: #fff; display: flex; align-items: center; overflow: hidden; height:
 40px; }
.ticker-title { background: #b71c1c; padding: 0 15px; height: 100%; display: flex; align-items: center; font-weight:
 bold; font-size: 13px; white-space: nowrap; z-index: 10; box-shadow: 3px 0 5px rgba(0,0,0,0.2); }
.ticker-marquee { white-space: nowrap; animation: marquee 25s linear infinite; padding-left: 100%; font-size: 14px;
 font-weight: 500; }
.ticker-marquee a { color: #fff; text-decoration: none; }
@keyframes marquee { 0% { transform: translate3d(0, 0, 0); } 100% { transform: translate3d(-100%, 0, 0); } }

/* --- 2. Section Heading Styling (Manorama/Mathrubhumi Style) --- */
.section-title { font-size: 20px; font-weight: 800; text-transform: uppercase; color: #0c1f38; margin-bottom: 20px;
 display: flex; align-items: center; letter-spacing: 0.5px; }
.section-title::before { content: ""; display: inline-block; width: 3px; height: 18px; background-color: #e31e24;
 margin-right: 6px; }
.section-title.top-news-title::before { background-color: #0056b3; }

/* --- 3. Left Column: Editor's Pick (Extended List) --- */
.editor-card { display: flex; gap: 12px; padding-bottom: 15px; margin-bottom: 15px; border-bottom: 1px solid #f2f2f2; }
.editor-card:last-child { border-bottom: none; }
.editor-img-box { width: 80px; height: 80px; flex-shrink: 0; border-radius: 4px; overflow: hidden; }
.editor-img { width: 100%; height: 100%; object-fit: cover; }
.editor-content { display: flex; flex-direction: column; justify-content: space-between; }
.editor-title-link { font-size: 20px; font-weight: 800; color: #111111; text-decoration: none; line-height: 1.4;
 display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical; overflow: hidden; }
.editor-title-link:hover { color: #e31e24; }
.editor-meta { font-size: 10px; font-weight: bold; color: #6c757d; text-transform: uppercase; margin-top: 4px; display:
 block; }

/* --- 4. Center Column: Main Top News --- */
.top-news-card { background: #fff; border: none; margin-bottom: 20px; padding-bottom: 15px; border-bottom: 1px
 solid #eaeaea; }
.top-news-title-link { font-size: 22px; font-weight: 800; color: #111; text-decoration: none; line-height: 1.4; display:
 block; margin-bottom: 12px; }
.top-news-title-link:hover { color: #0056b3; }
.top-news-img-box { width: 100%; height: 310px; border-radius: 4px; overflow: hidden; margin-top: 10px; }
.top-news-img { width: 100%; height: 100%; object-fit: cover; }

/* --- 5. Universal Right Aligned Image List Style --- */
.premium-list-item { display: flex; justify-content: space-between; align-items: flex-start; padding: 14px 0;
 border-bottom: 1px solid #f2f2f2; gap: 15px; }
.premium-list-item:last-child { border-bottom: none; }
.premium-list-left { flex: 1; }
.premium-list-title { font-size: 20px; font-weight: 800; line-height: 1.45; color: #212529; text-decoration: none;
 display: block; }
.premium-list-title:hover { color: #e31e24; }
.premium-list-right { width: 95px; height: 70px; flex-shrink: 0; }
.premium-list-img { width: 100%; height: 100%; object-fit: cover; border-radius: 4px; }

/* --- 6. Right Column: Premium Ad Container --- */
.ad-sidebar-wrapper { background: #f8f9fa; padding: 10px; text-align: center; display: flex; justify-content: center;
 align-items: center; min-height: 250px; margin-bottom: 25px; border: 1px solid #eaeaea; }

/* --- 7. Grid Box Card --- */
.news-grid-card { background: #fff; border-radius: 6px; border: 1px solid #eaeaea; overflow: hidden; margin-bottom:
 20px; height: 100%; }
.grid-img-top { height: 250px; width: 100%; object-fit: cover; }
.grid-title-link { font-size: 14px; font-weight: 700; color: #212529; text-decoration: none; display: block; padding:
 12px; line-height: 1.4; }
.grid-title-link:hover { color: #0056b3; }

/* --- 8. Trending Slider --- */
.top-trending-slider-section { background: #ffffff; padding: 30px 0; border-bottom: 1px solid #eaeaea; border-top: 1px
 solid #eaeaea; }
.trending-slider-card { background: #fff; border-radius: 6px; overflow: hidden; border: 1px solid #ebebeb; box-shadow: 0
 2px 6px rgba(0,0,0,0.03); height: 300px; display: flex; flex-direction: column; }
.slider-card-img-box { height: 150px; width: 100%; overflow: hidden; }
.slider-card-img { width: 100%; height: 100%; object-fit: cover; }
.slider-card-body { padding: 12px; display: flex; flex-direction: column; justify-content: space-between; flex-grow:
 1; }
.slider-card-title { font-size: 20px; font-weight: 700; line-height: 1.4; color: #212529; text-decoration: none;
 display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
/* --- Top Utility Bar Design (As per image_c17da8.png) --- */
.top-social-icon { width: 26px; height: 26px; border-radius: 50%; border: 1px solid #e9ecef; display: inline-flex;
 align-items: center; justify-content: center; color: #212529; text-decoration: none; font-size: 11px; transition: all
 0.2s ease; background-color: #f8f9fa; }
.top-social-icon:hover { background-color: #e2e6ea; color: #0056b3; }
.top-utility-links a { transition: color 0.1s ease; }
.top-utility-links a:hover { color: #0056b3 !important; }

/* --- Sticky Top Bar --- */
.sticky-top-bar { position: sticky; top: 0; z-index: 1030; background-color: #0d0d0d; border-bottom: 1px solid #e9ecef;
 box-shadow: 0 2px 5px rgba(0,0,0,0.05); }

.brand-logo-img { height: 120px; max-width: ; width: auto; object-fit: contain; display: inline-block; }

/* --- Horizontal Scrolling Menu with Indicators --- */
.scroll-menu-container { position: relative; background: #ffffff; border-bottom: 1px solid #e9ecef; }

.scroll-menu-container::after { content: ''; position: absolute; top: 0; right: 0; width: 40px; height: 100%;
 background: linear-gradient(to right, rgba(255,255,255,0), rgba(255,255,255,0.9)); pointer-events: none; }

.scroll-menu { overflow-x: auto; white-space: nowrap; padding: 12px 10px; scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch; }

.scroll-menu::-webkit-scrollbar { display: none; }

.scroll-menu a { display: inline-block; color: #495057; padding: 3px 18px; text-decoration: none; font-weight: 600;
 font-size: 16px; text-transform: uppercase; transition: color 0.2s ease; }

.scroll-menu a.active, .scroll-menu a:hover { color: #0056b3; border: 2px solid #0056b3; }

/* --- Offcanvas Mobile Menu (Scrollable) --- */
.offcanvas { width: 290px !important; background-color: #ffffff; }

.user-profile-header { background: #000; color: white; padding: 20px 15px; }

.user-avatar { width: 50px; height: 50px; border-radius: 50%; background-color: rgba(255, 255, 255, 0.2); display: flex;
 align-items: center; justify-content: center; font-size: 20px; border: 2px solid rgba(255, 255, 255, 0.6); }

.scrollable-menu-body { overflow-y: auto; height: calc(100vh - 120px); }

.list-group-item-action { font-weight: 500; color: #495057; border: none !important; font-size: 15px; transition: all
 0.2s ease; }

.list-group-item-action:hover { background-color: #f8f9fa; color: #0056b3; padding-left: 25px; }

/* --- Custom Horizontal News Card Styling --- */
.news-row-card { background: #ffffff; border-radius: 8px; overflow: hidden; border: 1px solid #e9ecef; transition:
 transform 0.2s ease, box-shadow 0.2s ease; display: flex; margin-bottom: 15px; }
.news-row-card:hover { box-shadow: 0 4px 12px rgba(0,0,0,0.08); }
.card-img-container { width: 35%; min-width: 120px; max-width: 180px; position: relative; }
.card-img-left { width: 100%; height: 100%; object-fit: cover; }
.card-content-right { width: 65%; padding: 12px 15px; display: flex; flex-direction: column; justify-content: center; }
.news-title-link { color: #212529; font-weight: 700; font-size: 15px; line-height: 1.4; text-decoration: none;
 display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical; overflow: hidden; }
.news-title-link:hover { color: #0056b3; }
.news-desc { font-size: 13px; color: #6c757d; margin-top: 5px; display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical; overflow: hidden; }
.cat-badge { font-size: 10px; text-transform: uppercase; font-weight: 700; align-self: flex-start; margin-bottom: 5px;
 background-color: #f8f9fa; color: #0056b3; padding: 3px 8px; border-radius: 4px; }
@media (min-width: 768px) {
        .sticky-top-bar { position: sticky; top: 0; z-index: 1020; background: #0d0d0d; box-shadow: 0 2px 5px rgba(0,0,0,0.05); }
        .scroll-menu-container { position: relative; top: auto; } }
    @media (max-width: 767px) {
        .sticky-top-bar { position: sticky; top: 0; z-index: 1030; background: #0d0d0d; border-bottom: 1px
         solid #eee; }
        /*.scroll-menu-container { position: sticky; top: 44px; z-index: 1025; background: #fff; box-shadow: 0 4px 6px
         rgba(0,0,0,0.08); border-bottom: 1px solid #ddd; padding: 5px 0; }*/
        
    }

    .brand-link { display: flex; align-items: center; text-decoration: none; }
.brand-icon { height: 45px; width: auto; margin-right: -10px; }
.brand-text-container { display: flex; flex-direction: column; }

.main-title { font-family: 'Georgia', serif; font-weight: 800; font-size: 24px; letter-spacing: 0.5px; }

.times-text { color: #0056b3; }

.of-text { color: #0d6efd;
    /*margin: 0 2px;*/
    font-size: 18px; }

.vision-text { color: #ffd700; }

.divider { width: 100%; height: 1.5px; background-color: #ffd700; margin: 2px 0; }

.tagline { font-family: 'Roboto', sans-serif; font-weight: 700; font-size: 12px; letter-spacing: 1px; text-transform:
 uppercase; color: #000000; margin-top: 5px; text-align: center; }
   @media (max-width: 576px) {
    .brand-icon { height: 70px; position: absolute; margin-left: -310px;}
    .main-title { font-size: 24px; }
    .tagline { font-size: 9px; }
    .of-text { font-size: 18px; }
    .brand-link { margin-left:0px; }
    .sticky-top-bar{ background:#0d0d0d } }

       @media (max-width: 576px) {
    .brand-link { 
        display: flex !important; 
        align-items: center !important; 
        justify-content: center !important; 
        gap: 5px;
        margin-left: 0 !important;
        position: static !important;
        max-height:50px;
        
    }
    
    .brand-icon { 
        height: 90px !important;
        width: auto !important;
        margin-left: -165px;
    }
    
    .brand-logo-img { 
        height: 130px !important; 
        width: auto !important;
        object-fit: contain;
        margin-left: 75px;
    }


    .sticky-top-bar { padding: 5px 0 !important; background: #0d0d0d !important;}
    .scroll-menu-container { position: sticky; top: 60px; z-index: 1025; background: #fff; box-shadow: 0 4px 6px
         rgba(0,0,0,0.08); border-bottom: 1px solid #ddd; padding: 5px 0; font-size: 18px;}
}
.card { transition: transform 0.3s ease; }
.card:hover { transform: translateY(-5px); box-shadow: 0 10px 20px rgba(0,0,0,0.1) !important; } footer { border-top:
 4px solid #ffd700; margin-top: 30px; }

footer a:hover { color: #ffd700 !important; transition: 0.3s; }