/* =====================================
   BREAKING NEWS
===================================== */

.breaking-news {
	display: flex;
	align-items: stretch;

	width: 100%;
	margin: 20px 0 30px;

	overflow: hidden;

	background: #d90000;
	color: #fff;
}


/*---------------------------------------
  LABEL
---------------------------------------*/

.breaking-label {
	display: flex;
	align-items: center;
	justify-content: center;

	flex: 0 0 140px;
	width: 140px;

	padding: 12px 15px;

	background: #000;
	color: #fff;

	font-size: 14px;
	font-weight: 700;
	line-height: 1.3;

	text-align: center;

	box-sizing: border-box;
}


/*---------------------------------------
  VIEWPORT
---------------------------------------*/

.breaking-content {
	flex: 1 1 auto;

	min-width: 0;

	overflow: hidden;

	display: flex;
	align-items: center;
}


/*---------------------------------------
  MOVING TRACK
---------------------------------------*/

.breaking-track {
	display: flex;
	align-items: center;

	width: max-content;

	animation: progresnews-breaking-marquee 40s linear infinite;

	will-change: transform;
}


/*---------------------------------------
  GROUP
---------------------------------------*/

.breaking-group {
	display: flex;
	align-items: center;

	flex-shrink: 0;
}


/*---------------------------------------
  ITEM
---------------------------------------*/

.breaking-item {
	display: inline-flex;
	align-items: center;

	flex-shrink: 0;

	padding: 0 25px;

	color: #fff;

	font-size: 14px;
	font-weight: 500;
	line-height: 1.4;

	text-decoration: none;

	white-space: nowrap;
}


/* Separator */

.breaking-item::after {
	content: "•";

	margin-left: 25px;

	opacity: .65;
}


/*---------------------------------------
  HOVER
---------------------------------------*/

.breaking-item:hover {
	color: #fff;
	text-decoration: underline;
}


/*---------------------------------------
  PAUSE ON HOVER
---------------------------------------*/

.breaking-content:hover .breaking-track {
	animation-play-state: paused;
}


/*---------------------------------------
  MARQUEE ANIMATION
---------------------------------------*/

@keyframes progresnews-breaking-marquee {

	from {
		transform: translateX(0);
	}

	to {
		transform: translateX(-50%);
	}

}


/*---------------------------------------
  REDUCED MOTION
---------------------------------------*/

@media (prefers-reduced-motion: reduce) {

	.breaking-track {
		animation: none;
	}

}


/*---------------------------------------
  MOBILE
---------------------------------------*/

@media (max-width: 768px) {

	.breaking-news {
		display: flex;

		margin: 15px 0 25px;
	}


	.breaking-label {
		flex: 0 0 110px;
		width: 110px;

		padding: 10px 8px;

		font-size: 12px;
	}


	.breaking-content {
		min-width: 0;
	}


	.breaking-track {
		animation-duration: 28s;
	}


	.breaking-item {
		padding: 0 18px;

		font-size: 13px;
	}


	.breaking-item::after {
		margin-left: 18px;
	}

}
/* =====================================
   FEATURED NEWS
===================================== */

.featured-news{
    margin-bottom:30px;
}

.featured-item{
    background:#fff;
    padding:15px;
    border-radius:8px;
}

.featured-item img{
    width:100%;
}

.featured-item h2{
    font-size:30px;
    margin-top:15px;
    line-height:1.3;
}

.featured-small h3{
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
}

/* =====================================
   SECTION TITLE
===================================== */
.latest-news h2,
.most-read h2,
.editors-choice h2,
.trending-news h2{
    margin-bottom:20px;
    font-size:24px;
    border-left:5px solid #1544D9;
    padding-left:10px;
}

/* =====================================
   GRID NEWS
===================================== */

.news-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:20px;
    margin-bottom:30px;
}

.news-card{
    background:#fff;
    border-radius:8px;
    overflow:hidden;
    box-shadow:0 2px 5px rgba(0,0,0,.05);
}

.news-card img{
    width:100%;
    height:180px;
    object-fit:cover;
}

.news-card h3{
    padding:10px;
    font-size:16px;
    line-height:1.4;
    color:#222;
}

@media(max-width:768px){

    .news-grid{
        grid-template-columns:1fr;
    }

    .featured-item h2{
        font-size:22px;
    }

}

/* ===================================
   FEATURED NEWS PREMIUM
=================================== */

.featured-news-grid{
    display:grid;
    grid-template-columns:2fr 1fr;
    gap:20px;
    margin-bottom:40px;
}

.featured-main{
    background:#fff;
}

.featured-main img{
    width:100%;
    aspect-ratio:4/3;
    object-fit:cover;
    border-radius:6px;
}

.featured-main h2{
    margin-top:15px;
    font-size:38px;
    line-height:1.25;
    font-weight:700;
}

.featured-side{
    display:flex;
    flex-direction:column;
    gap:20px;
}

.featured-small{
    background:#fff;
}

.featured-small h3{
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
}

.featured-small h3{
    margin-top:10px;
    font-size:18px;
    line-height:1.4;
    font-weight:600;
}

.featured-small a,
.featured-main a{
    color:#222;
}

.featured-small a:hover,
.featured-main a:hover{
    color:#0f2f97;
}

@media(max-width:768px){

    .featured-news-grid{
        grid-template-columns:1fr;
    }

    .featured-main h2{
        font-size:28px;
    }

}

@media (max-width:768px){

.featured-caption{
    font-size:13px;
    line-height:1.5;
    color:#666;
    margin-top:8px;
    font-style:italic;
}

/* ==========================
   NEWS GRID & CARD
========================== */

.news-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:20px;
}

.news-card{
    background:#fff;
    border-radius:6px;
    overflow:hidden;
    box-shadow:0 2px 6px rgba(0,0,0,.08);
}

.news-card img{
    width:100%;
    aspect-ratio:4/3;
    object-fit:cover;
}

.news-card h2{
    padding:12px;
    font-size:16px;
    line-height:1.5;
    color:#222;
}

.news-card a{
    color:#222;
}

.news-card a:hover{
    color:#0f2f97;
}

}

/* Desktop: keep latest news at 9 cards */
@media (min-width: 769px) {

    .latest-news .news-card:nth-child(n+10) {
        display: none;
    }

}

@media(max-width:768px){

    .news-grid{
        grid-template-columns:1fr;
    }

}
/* =====================================
   EDITOR'S CHOICE
===================================== */

.choice-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:20px;
    margin-bottom:30px;
}

.choice-card{
    background:#fff;
    border-radius:8px;
    overflow:hidden;
    box-shadow:0 2px 5px rgba(0,0,0,.08);
    transition:.3s;
}

.choice-card:hover{
    transform:translateY(-3px);
}

.choice-card img{
    width:100%;
    height:180px;
    object-fit:cover;
}

.choice-card h3{
    padding:12px;
    font-size:15px;
    line-height:1.5;
    color:#222;
}

.choice-card a{
    color:#222;
}

@media(max-width:768px){

    .choice-grid{
        grid-template-columns:1fr;
    }

}

/* =====================================
   MOST READ WEEK
===================================== */

.most-read-week{
    margin-bottom:40px;
}

.most-read-week-item{
    display:flex;
    align-items:flex-start;
    gap:15px;
    padding:12px 0;
    border-bottom:1px solid #e5e5e5;
}

.most-read-week-item:last-child{
    border-bottom:none;
}

.most-read-number{
    min-width:50px;
    font-size:32px;
    font-weight:700;
    color:#0f2f97;
    line-height:1;
}

.most-read-content{
    flex:1;
}

.most-read-content a{
    display:block;
    color:#222;
    font-size:15px;
    font-weight:600;
    line-height:1.5;
}

.most-read-content a:hover{
    color:#0f2f97;
}

@media(max-width:768px){

    .most-read-number{
        font-size:24px;
        min-width:40px;
    }

}

/* =====================================
   MOBILE HOMEPAGE HERO
===================================== */

@media (max-width: 768px) {

    /* Homepage container */
    .home .container {
        width: 100%;
        max-width: 100%;
        padding-left: 12px;
        padding-right: 12px;
        box-sizing: border-box;
    }

    /* Hero layout */
    .featured-news-grid {
        display: grid;
        grid-template-columns: 1fr;
        gap: 16px;
        margin-bottom: 28px;
        width: 100%;
    }

    /* Main hero image */
    .featured-main img {
        width: 100%;
        height: auto;
        aspect-ratio: 16 / 9;
        object-fit: cover;
        border-radius: 6px;
    }

    /* Main hero title */
    .featured-main h2 {
        margin-top: 10px;
        font-size: 26px;
        line-height: 1.25;
        font-weight: 700;
    }

    /* Two secondary hero items */
    .featured-side {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
    }

    .featured-small {
        width: 100%;
        min-width: 0;
    }

    .featured-small img {
        width: 100%;
        height: auto;
        aspect-ratio: 4 / 3;
        object-fit: cover;
        border-radius: 6px;
    }

    .featured-small h3 {
        margin-top: 8px;
        font-size: 14px;
        line-height: 1.4;
        font-weight: 600;
    }

}
/* =====================================
   MOBILE HOMEPAGE POLISH
===================================== */

@media (max-width: 768px) {

    /* ---------------------------------
       Homepage container
    --------------------------------- */

    .home .container {
        width: 100%;
        max-width: 100%;
        margin-left: 0;
        margin-right: 0;
        padding-left: 0;
        padding-right: 0;
        box-sizing: border-box;
    }


    /* ---------------------------------
       Featured / Hero section
    --------------------------------- */

    .featured-news-grid {
        width: 100%;
        display: grid;
        grid-template-columns: 1fr;
        gap: 14px;
        margin-bottom: 24px;
        box-sizing: border-box;
    }


    /* ---------------------------------
       Main hero
    --------------------------------- */

    .featured-main {
        width: 100%;
        min-width: 0;
    }

    .featured-main img {
        display: block;
        width: 100%;
        max-width: 100%;
        height: auto;
        aspect-ratio: 16 / 9;
        object-fit: cover;
    }

    .featured-main h2 {
        margin-top: 10px;
        margin-bottom: 0;
        font-size: 25px;
        line-height: 1.25;
    }


    /* ---------------------------------
       Secondary hero grid
    --------------------------------- */

    .featured-side {
        width: 100%;
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
        min-width: 0;
    }

    .featured-small {
        width: 100%;
        min-width: 0;
        overflow: hidden;
    }

    .featured-small img {
        display: block;
        width: 100%;
        max-width: 100%;
        height: auto;
        aspect-ratio: 4 / 3;
        object-fit: cover;
    }

    .featured-small h3 {
        margin-top: 7px;
        margin-bottom: 0;
        font-size: 13px;
        line-height: 1.35;

        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
        overflow: hidden;
    }


    /* ---------------------------------
       Section spacing
    --------------------------------- */

    .homepage-section {
        margin-top: 24px;
        margin-bottom: 24px;
    }


    /* ---------------------------------
       Prevent accidental horizontal overflow
    --------------------------------- */

    .home img,
    .home video,
    .home iframe {
        max-width: 100%;
    }

}
