/*==================================================
LIKUPANG INFO
BAGIAN 1
RESET + HEADER
==================================================*/

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    font-family:'Poppins',sans-serif;
    background:#f4f6fb;
    color:#222;
    line-height:1.6;
}

a{
    text-decoration:none;
    color:inherit;
    transition:.25s;
}

img{
    max-width:100%;
    display:block;
}

/*==================================================
CONTAINER
==================================================*/

.container{
    width:95%;
    max-width:1350px;
    margin:auto;
}

/*==================================================
HEADER
==================================================*/

.topbar{
    background:#ffffff;
    border-bottom:1px solid #e6e6e6;

    display:flex;
    align-items:center;
    justify-content:space-between;

    gap:25px;

    padding:14px 20px;

    position:sticky;
    top:0;
    z-index:999;

    box-shadow:0 2px 15px rgba(0,0,0,.05);
}

/*==================================================
LOGO
==================================================*/

.logo-box{
    display:flex;
    align-items:center;
    flex-shrink:0;
}

.logo-box a{
    display:flex;
    align-items:center;
    gap:12px;
}

.logo{
    width:58px;
    height:58px;
    object-fit:contain;
}

.logo-box h2{

    color:#0057d8;

    font-size:28px;

    font-weight:800;

    line-height:1;

    letter-spacing:.3px;

    white-space:nowrap;
}

.logo-box span{

    display:block;

    font-size:12px;

    color:#777;

    margin-top:4px;

    letter-spacing:1px;
}

/*==================================================
MENU
==================================================*/

nav{

    flex:1;

    display:flex;

    justify-content:center;

    align-items:center;

    gap:8px;
}

nav a{

    display:flex;

    align-items:center;

    justify-content:center;

    padding:10px 15px;

    border-radius:30px;

    font-size:14px;

    font-weight:600;

    white-space:nowrap;

    color:#333;
}

nav a:hover{

    background:#0057d8;

    color:#fff;
}

nav a.active{

    background:#0057d8;

    color:#fff;
}

/*==================================================
SEARCH
==================================================*/

.search{

    flex-shrink:0;
}

.search form{

    position:relative;
}

.search input{

    width:190px;

    height:42px;

    padding:0 15px;

    border:1px solid #ddd;

    border-radius:25px;

    outline:none;

    font-size:14px;

    transition:.3s;
}

.search input:focus{

    width:230px;

    border-color:#0057d8;

    box-shadow:0 0 10px rgba(0,87,216,.15);
}

/*==================================================
BAGIAN 2
BREAKING NEWS + HERO
==================================================*/

/*==========================
BREAKING NEWS
==========================*/

.breaking{

    background:#111111;

    color:#ffffff;

    padding:12px 20px;

    font-size:14px;

    font-weight:600;

    overflow:hidden;

    border-radius:0 0 10px 10px;

    box-shadow:0 4px 15px rgba(0,0,0,.15);

}

.breaking a{

    color:#fff;

}

.breaking strong{

    color:#ffd400;

}

/*==========================
HERO
==========================*/

.hero{

    display:grid;

    grid-template-columns:2fr 1fr;

    gap:25px;

    margin:30px 0 40px;

}

/*==========================
HERO KIRI
==========================*/

.hero-left{

    position:relative;

    overflow:hidden;

    border-radius:18px;

    background:#000;

    box-shadow:0 12px 35px rgba(0,0,0,.12);

}

.hero-left a{

    display:block;

}

.hero-left img{

    width:100%;

    height:560px;

    object-fit:cover;

    transition:.5s;

}

.hero-left:hover img{

    transform:scale(1.05);

}

/*==========================
CAPTION
==========================*/

.hero-caption{

    position:absolute;

    left:0;

    right:0;

    bottom:0;

    padding:35px;

    background:linear-gradient(
        transparent,
        rgba(0,0,0,.92)
    );

    color:#fff;

}

.hero-caption h1{

    font-size:38px;

    line-height:50px;

    margin:15px 0;

    font-weight:700;

}

.hero-caption p{

    font-size:15px;

    opacity:.9;

}

/*==========================
BADGE
==========================*/

.badge{

    display:inline-block;

    background:#0057d8;

    color:#fff;

    padding:6px 14px;

    border-radius:25px;

    font-size:12px;

    font-weight:600;

}

/*==========================
HERO KANAN
==========================*/

.hero-right{

    display:flex;

    flex-direction:column;

    gap:20px;

}

/*==========================
CARD HERO KECIL
==========================*/

.small-news{

    background:#fff;

    border-radius:16px;

    overflow:hidden;

    box-shadow:0 8px 25px rgba(0,0,0,.08);

    transition:.3s;

}

.small-news:hover{

    transform:translateY(-5px);

    box-shadow:0 15px 30px rgba(0,0,0,.12);

}

.small-news a{

    display:flex;

    gap:15px;

    align-items:center;

}

.small-news img{

    width:150px;

    height:120px;

    object-fit:cover;

    flex-shrink:0;

}

.small-body{

    padding:15px;

}

.small-body span{

    display:inline-block;

    background:#0057d8;

    color:#fff;

    padding:4px 10px;

    border-radius:20px;

    font-size:11px;

    margin-bottom:8px;

}

.small-body h3{

    font-size:18px;

    line-height:26px;

    margin-bottom:8px;

    color:#222;

    transition:.3s;

}

.small-news:hover h3{

    color:#0057d8;

}

.small-body small{

    color:#777;

    font-size:13px;

}

/*==================================================
BAGIAN 3
CONTENT + BERITA
==================================================*/

/*==========================
CONTENT
==========================*/

.content{

    display:grid;

    grid-template-columns:3fr 1fr;

    gap:30px;

    margin:40px 0;

    align-items:start;

}

/*==========================
JUDUL SECTION
==========================*/

.section-title{

    font-size:32px;

    font-weight:800;

    color:#0057d8;

    margin-bottom:25px;

    position:relative;

    padding-left:18px;

}

.section-title::before{

    content:"";

    position:absolute;

    left:0;

    top:5px;

    width:6px;

    height:35px;

    background:#0057d8;

    border-radius:20px;

}

/*==========================
GRID BERITA
==========================*/

.news-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:28px;

}

/*==========================
CARD BERITA
==========================*/

.news-card{

    background:#fff;

    border-radius:18px;

    overflow:hidden;

    box-shadow:0 8px 25px rgba(0,0,0,.08);

    transition:.35s;

    border:1px solid #ececec;

}

.news-card:hover{

    transform:translateY(-8px);

    box-shadow:0 18px 40px rgba(0,0,0,.15);

}

/*==========================
GAMBAR
==========================*/

.news-image{

    overflow:hidden;

}

.news-image img{

    width:100%;

    height:230px;

    object-fit:cover;

    transition:.5s;

}

.news-card:hover img{

    transform:scale(1.08);

}

/*==========================
BODY
==========================*/

.news-body{

    padding:22px;

}

.news-body .badge{

    margin-bottom:14px;

}

.news-body h3{

    font-size:21px;

    line-height:30px;

    margin-bottom:12px;

    color:#222;

    transition:.3s;

}

.news-card:hover h3{

    color:#0057d8;

}

.news-date{

    color:#777;

    font-size:14px;

    margin-top:10px;

}

/*==========================
READ MORE
==========================*/

.read-more{

    margin-top:18px;

    display:inline-block;

    color:#0057d8;

    font-weight:700;

    transition:.3s;

}

.news-card:hover .read-more{

    transform:translateX(8px);

}

/*==========================
LINK CARD
==========================*/

.news-card a{

    display:block;

}

/*==================================================
BAGIAN 4
SIDEBAR
==================================================*/

/*==========================
SIDEBAR
==========================*/

.sidebar{

    position:sticky;

    top:90px;

    align-self:start;

}

/*==========================
WIDGET
==========================*/

.widget{

    background:#fff;

    border-radius:18px;

    padding:22px;

    margin-bottom:28px;

    box-shadow:0 8px 25px rgba(0,0,0,.08);

    border:1px solid #ededed;

}

.widget h2{

    font-size:22px;

    color:#0057d8;

    font-weight:700;

    margin-bottom:20px;

    padding-bottom:12px;

    border-bottom:2px solid #f2f2f2;

}

/*==========================
BERITA TERBARU
==========================*/

.trend-item{

    display:flex;

    gap:14px;

    padding:15px 0;

    border-bottom:1px solid #eeeeee;

    transition:.3s;

}

.trend-item:last-child{

    border-bottom:none;

}

.trend-item:hover{

    transform:translateX(6px);

}

.trend-item img{

    width:95px;

    height:80px;

    object-fit:cover;

    border-radius:10px;

    flex-shrink:0;

}

.trend-body{

    flex:1;

}

.trend-body h4{

    font-size:15px;

    line-height:23px;

    color:#222;

    margin-bottom:8px;

    transition:.3s;

}

.trend-body h4:hover{

    color:#0057d8;

}

.trend-body small{

    color:#777;

    font-size:13px;

}

/*==========================
KATEGORI
==========================*/

.category-list{

    list-style:none;

}

.category-list li{

    margin-bottom:10px;

}

.category-list li:last-child{

    margin-bottom:0;

}

.category-list a{

    display:flex;

    justify-content:space-between;

    align-items:center;

    padding:11px 15px;

    background:#f7f8fb;

    border-radius:10px;

    transition:.3s;

    font-weight:600;

}

.category-list a:hover{

    background:#0057d8;

    color:#fff;

    padding-left:22px;

}

/*==========================
SOSIAL MEDIA
==========================*/

.widget p{

    margin-bottom:12px;

}

.widget p a{

    display:block;

    padding:11px 15px;

    background:#f7f8fb;

    border-radius:10px;

    font-weight:600;

    transition:.3s;

}

.widget p a:hover{

    background:#0057d8;

    color:#fff;

}

/*==========================
IKLAN
==========================*/

.iklan-box{

    overflow:hidden;

    border-radius:14px;

    transition:.3s;

}

.iklan-box img{

    width:100%;

    border-radius:14px;

    transition:.4s;

}

.iklan-box:hover img{

    transform:scale(1.04);

}

/*==================================================
BAGIAN 5
FOOTER + RESPONSIVE
==================================================*/

/*==========================
FOOTER
==========================*/

footer{

    background:#0b1728;

    color:#fff;

    margin-top:60px;

}

.footer-content{

    max-width:1200px;

    margin:auto;

    padding:60px 20px;

    text-align:center;

}

.footer-content h2{

    font-size:34px;

    font-weight:800;

    color:#ffffff;

    margin-bottom:10px;

}

.footer-tagline{

    color:#63a4ff;

    font-size:15px;

    letter-spacing:2px;

    margin-bottom:20px;

}

.footer-content hr{

    width:120px;

    margin:20px auto;

    border:none;

    height:2px;

    background:#0057d8;

}

.footer-content p{

    color:#cfd8dc;

    font-size:15px;

    line-height:28px;

}

.footer-content strong{

    color:#fff;

}

/*==========================
RESPONSIVE
==========================*/

@media(max-width:1200px){

.news-grid{

grid-template-columns:repeat(2,1fr);

}

.hero{

grid-template-columns:1fr;

}

.hero-right{

display:grid;

grid-template-columns:repeat(2,1fr);

gap:20px;

}

}

@media(max-width:992px){

.topbar{

flex-wrap:wrap;

justify-content:center;

}

.logo-box{

width:100%;

justify-content:center;

}

nav{

width:100%;

justify-content:center;

flex-wrap:wrap;

}

.search{

width:100%;

display:flex;

justify-content:center;

margin-top:10px;

}

.search input{

width:100%;

max-width:320px;

}

.content{

grid-template-columns:1fr;

}

.sidebar{

position:static;

}

}

@media(max-width:768px){

.hero-caption{

padding:20px;

}

.hero-caption h1{

font-size:28px;

line-height:38px;

}

.hero-right{

grid-template-columns:1fr;

}

.small-news a{

flex-direction:column;

}

.small-news img{

width:100%;

height:200px;

}

.news-grid{

grid-template-columns:1fr;

}

.section-title{

font-size:26px;

}

.logo{

width:50px;

}

.logo-box h2{

font-size:24px;

}

nav{

gap:6px;

}

nav a{

font-size:13px;

padding:9px 13px;

}

.breaking{

font-size:13px;

}

}

@media(max-width:480px){

.container{

width:94%;

}

.hero-left img{

height:260px;

}

.hero-caption h1{

font-size:22px;

line-height:30px;

}

.search input{

max-width:100%;

}

.footer-content{

padding:40px 15px;

}

.footer-content h2{

font-size:28px;

}

}

/* =====================================================
   KOMENTAR PEMBACA
===================================================== */

.comment-box{
    background:#fff;
    margin:40px 0;
    padding:30px;
    border-radius:15px;
    box-shadow:0 5px 20px rgba(0,0,0,.08);
}

.comment-box h2{
    margin-bottom:10px;
    color:#0b61d6;
}

.comment-info{
    color:#666;
    margin-bottom:25px;
}

.comment-box input,
.comment-box textarea{

    width:100%;
    padding:14px;
    border:1px solid #ddd;
    border-radius:8px;
    font-size:15px;
    transition:.3s;
    outline:none;

}

.comment-box input:focus,
.comment-box textarea:focus{

    border-color:#0b61d6;
    box-shadow:0 0 8px rgba(11,97,214,.2);

}

.comment-box textarea{

    resize:vertical;

}

.btn-komentar{

    background:#0b61d6;
    color:#fff;
    border:none;
    padding:14px 35px;
    border-radius:30px;
    font-size:15px;
    font-weight:600;
    cursor:pointer;
    transition:.3s;

}

.btn-komentar:hover{

    background:#0848a6;

}

/* ==========================
   RATING BINTANG
========================== */

.rating{

    display:flex;
    flex-direction:row-reverse;
    justify-content:flex-end;

}

.rating input{

    display:none;

}

.rating label{

    font-size:34px;
    color:#ccc;
    cursor:pointer;
    transition:.2s;
    margin-right:5px;

}

.rating input:checked ~ label{

    color:#ffc107;

}

.rating label:hover,
.rating label:hover ~ label{

    color:#ffc107;

}

/* ==========================
   DAFTAR KOMENTAR
========================== */

.comment-item{

    padding:20px 0;
    border-bottom:1px solid #eee;

}

.comment-item:last-child{

    border-bottom:none;

}

.comment-star{

    font-size:20px;
    margin-bottom:8px;

}

.comment-item h4{

    margin:0;
    font-size:18px;
    color:#222;

}

.comment-item small{

    color:#777;

}

.comment-item p{

    margin-top:10px;
    line-height:1.8;
    color:#444;

}