.article-header {
    margin-bottom: 30px;
}

.article-title {
    font-size: 2.7rem;
    font-weight: 700;
    line-height: 1.25;
    color: #222;
}

.article-meta {
    color: #6c757d;
    font-size: .95rem;
}

.article-meta i {
    color: #dc3545;
    margin-right: 5px;
}

.article-featured-image img {
    width: 100%;
    border-radius: 8px;
}

.article-content {
    font-size: 1.15rem;
    line-height: 2;
    color: #333;
}

.article-content p {
    margin-bottom: 1.6rem;
}

.article-content h2,
.article-content h3,
.article-content h4 {
    margin-top: 2rem;
    margin-bottom: 1rem;
    font-weight: 700;
}

.article-content img {
    max-width: 100%;
    height: auto;
    border-radius: 8px;
    margin: 20px 0;
}

.article-content ul,
.article-content ol {
    margin-bottom: 1.5rem;
}

.article-content blockquote {
    border-left: 5px solid #dc3545;
    padding-left: 20px;
    color: #666;
    font-style: italic;
    margin: 30px 0;
}
.article-content p:first-of-type{

font-size:1.35rem;

font-weight:500;

color:#444;

} 

.sidebar-title {
    font-size: 1.2rem;
    font-weight: 700;
    margin-bottom: 20px;
    border-bottom: 2px solid #dc3545;
    padding-bottom: 10px;
}

.latest-post {
    margin-bottom: 20px;
}

.latest-post img {
    width: 100%;
    border-radius: 6px;
}

.latest-post-title {
    font-weight: 600;
    color: #222;
    text-decoration: none;
}

.latest-post-title:hover {
    color: #dc3545;
}

.share-buttons .btn {
    margin-right: 10px;
    margin-bottom: 10px;
}

.related-card img {
    border-radius: 6px;
}

.related-card h5 {
    font-size: 1rem;
    margin-top: 10px;
}

@media (max-width:768px){

.article-title{
    font-size:2rem;
}

.article-content{

font-size:clamp(1.05rem,1.2vw,1.2rem);

line-height:2;

}

}
.post-content{
    font-size:18px;
    line-height:1.9;
}

.post-content p{
    margin-bottom:24px;
}

.post-content h2{
    margin-top:40px;
    margin-bottom:20px;
    font-weight:700;
}

.post-content img{
    max-width:100%;
    border-radius:12px;
}

.post-content blockquote{
    border-left:4px solid #198754;
    padding-left:20px;
    font-style:italic;
    background:#f8f9fa;
}
.share-box{
position:sticky;
top:120px;
}

.article-featured-image{
overflow:hidden;
border-radius:10px;
}

.article-featured-image img{
transition:.4s;
}

.article-featured-image:hover img{
transform:scale(1.03);
}

.related-card{
transition:.3s;
border:none;
}

.related-card:hover{
transform:translateY(-6px);
box-shadow:0 1rem 3rem rgba(0,0,0,.15);
}

.hero-news{
position:relative;
}

/* ==========================
   HERO ARTICLE
========================== */

.hero-news{
    position:relative;
    border-radius:14px;
    overflow:hidden;
    box-shadow:0 1rem 3rem rgba(0,0,0,.15);
}

.hero-image{
    width:100%;
    height:520px;
    object-fit:cover;
    transition:.5s;
}

.hero-news:hover .hero-image{
    transform:scale(1.03);
}

.hero-overlay{
    position:absolute;
    inset:0;
    background:linear-gradient(
        to top,
        rgba(0,0,0,.85),
        rgba(0,0,0,.15)
    );
}

.hero-content{
    position:absolute;
    left:50px;
    right:50px;
    bottom:45px;
    color:#fff;
}

.hero-title{
    font-size:3rem;
    font-weight:700;
    line-height:1.2;
    margin:20px 0;
}

.hero-meta{
    display:flex;
    flex-wrap:wrap;
    gap:20px;
    font-size:.95rem;
}

.hero-meta i{
    margin-right:6px;
    color:#ffc107;
}
@media(max-width:768px){

.hero-image{

height:300px;

}

.hero-content{

left:20px;

right:20px;

bottom:20px;

}

.hero-title{

font-size:2rem;

}

.hero-meta{

font-size:.85rem;

gap:10px;

}

}

.article-header{

background:#f8f9fa;
padding:50px;
border-radius:10px;

}

#reading-progress{
position:fixed;
top:0;
left:0;
width:0;
height:4px;
background:#dc3545;
z-index:9999;
transition:width .1s linear;
}

/* ===========================
    NEWS WIDGETS
=========================== */

.news-widget{

background:#fff;

border-radius:10px;

padding:20px;

box-shadow:0 .5rem 1rem rgba(0,0,0,.08);

margin-bottom:30px;

}

.widget-title{

font-size:1.2rem;

font-weight:700;

margin-bottom:20px;

border-left:4px solid #dc3545;

padding-left:12px;

}

.latest-news-item{

display:flex;

gap:15px;

margin-bottom:18px;

padding-bottom:18px;

border-bottom:1px solid #eee;

}

.latest-news-item:last-child{

border-bottom:none;

margin-bottom:0;

padding-bottom:0;

}

.latest-news-item img{

width:95px;

height:75px;

object-fit:cover;

border-radius:8px;

}

.latest-news-content{

flex:1;

}

.latest-news-content a{

text-decoration:none;

color:#222;

font-weight:600;

display:block;

margin-bottom:5px;

transition:.3s;

}

.latest-news-content a:hover{

color:#dc3545;

}

.latest-news-content small{

color:#777;

}

.quick-link{

display:block;

padding:12px 0;

border-bottom:1px solid #eee;

text-decoration:none;

color:#333;

transition:.3s;

}

.quick-link:last-child{

border-bottom:none;

}

.quick-link:hover{

padding-left:10px;

color:#dc3545;

}

.quick-link i{

width:24px;

color:#dc3545;

}

.membership-card{

background:linear-gradient(135deg,#c8102e,#8b0000);

color:#fff;

padding:25px;

border-radius:10px;

text-align:center;

}

.membership-card h5{

font-weight:700;

margin-bottom:15px;

}

.membership-card p{

font-size:.95rem;

margin-bottom:20px;

}
.news-header{

background:#f8f9fa;

margin-bottom:50px;

}

.news-card{

transition:.3s;

overflow:hidden;

}

.news-card img{

height:230px;

object-fit:cover;

transition:.4s;

}

.news-card:hover{

transform:translateY(-8px);

box-shadow:0 1rem 2rem rgba(0,0,0,.15);

}

.news-card:hover img{

transform:scale(1.05);

}

.news-card h5{

font-size:1.15rem;

font-weight:700;

line-height:1.4;

}

.news-card p{

color:#666;

}

.carousel-item img{
    border-radius:12px;
}

.carousel-control-prev,
.carousel-control-next{
    width:6%;
}

.carousel-indicators button{
    width:12px;
    height:12px;
    border-radius:50%;
}

.card-img-overlay{
    background:linear-gradient(
        transparent 20%,
        rgba(0,0,0,.85)
    );
}

.breaking-news{

    background:#b40000;

    color:white;

    overflow:hidden;

}

.breaking-label{

    background:#8b0000;

    font-weight:bold;

    padding:12px 20px;

    white-space:nowrap;

}

.ticker{

    overflow:hidden;

    white-space:nowrap;

}

.ticker-content{

    display:inline-block;

    padding-left:100%;

    animation:ticker 30s linear infinite;

}

.ticker-content a{

    color:white;

    font-weight:600;

}

@keyframes ticker{

    0%{

        transform:translateX(0);

    }

    100%{

        transform:translateX(-100%);

    }

}
.ticker-content:hover{

    animation-play-state:paused;

}