:root{
    --bg:#fff;
    --card:#ffffff;
    --muted:#6b7280;
    --accent:#004aad;
    --accent-2:#dd4814;
    --maxw:1200px;
    --radius:8px;
}
*{box-sizing:border-box}
html,body{height:100%}
body{
    margin:0;
    font-family: Inter, Roboto, "Helvetica Neue", Arial, sans-serif;
    background:var(--bg);
    color:#111827;
    -webkit-font-smoothing:antialiased;
    -moz-osx-font-smoothing:grayscale;
    line-height:1.5;
}

a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}

.site{
    max-width:var(--maxw);
    margin:1.25rem auto;
    padding:0 1rem;
}

header.site-header{
    background:linear-gradient(90deg,var(--accent) 0%, #0066cc 100%);
    color:#fff;
    border-radius:var(--radius);
    padding:.9rem 1.25rem;
    display:flex;
    gap:1rem;
    align-items:center;
}

/* HEADER WRAPPER */
.top-header {
    width: 100%;
    background: #ffffff;
    border-bottom: 1px solid #e5e7eb;
    position: sticky;
    top: 0;
    z-index: 999;
    font-family: 'Arial', sans-serif;
}

/* INNER FLEX */
.top-header-inner {
    max-width: 1300px;
    margin: auto;
    padding: 0.75rem 1rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

/* LOGO */
.logo-area .logo-img {
    height: 38px;
    width: auto;
    display: block;
}

/* MAIN MENU */
.main-menu {
    display: flex;
    gap: 1.5rem;
    align-items: center;
}

.main-menu a {
    color: #111;
    font-size: 0.95rem;
    font-weight: 700;
    text-decoration: none;
    padding-bottom: 3px;
}

.main-menu a:hover {
    color: #0c4bb7;
}

/* TV BUTTON */
.btn-tv {
    background: #c23250;
    padding: 0.45rem 0.9rem;
    border-radius: 6px;
    color: #fff !important;
    font-weight: bold;
}

/* SEARCH + USER ICONS */
.header-icons {
    display: flex;
    gap: 1rem;
}

.icon-btn {
    background: none;
    border: none;
    font-size: 1.25rem;
    cursor: pointer;
}

/* SUB MENU */
.sub-menu {
    width: 100%;
    background: #f3f6fa;
    padding: 0.75rem 1rem;
    display: flex;
    gap: 1.25rem;
    justify-content: center;
    border-bottom: 1px solid #e5e7eb;
}

.sub-menu a {
    padding: 0.45rem 0.9rem;
    background: #e3efff;
    color: #004aad;
    border-radius: 8px;
    text-decoration: none;
    font-size: 0.9rem;
    font-weight: 600;
    white-space: nowrap;
}

.sub-menu a:nth-child(2) {
    background: linear-gradient(90deg, #2a3246 0%, #1d273b 100%);
    color: #f7c77d;
}

.sub-menu a:nth-child(3) {
    background: #2f8b2f;
    color: #ffd173;
}

/* ============================
   HEADLINE — PREMIUM NEWS STYLE
   ============================ */

.headline-block {
    width: 100%;
    margin-bottom: 2.5rem;
}

.headline-wrapper {
    position: relative;
    border-radius: 12px;
    overflow: hidden;
    background: #000;
}

.headline-img {
    width: 100%;
    height: 380px;
    object-fit: cover;
    display: block;
    filter: brightness(82%);
    transition: .35s ease-in-out;
}

.headline-wrapper:hover .headline-img {
    filter: brightness(65%);
    transform: scale(1.02);
}

/* Overlay */
.headline-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 2.2rem;
    background: linear-gradient(
        to bottom,
        rgba(0, 0, 0, 0) 0%,
        rgba(0, 0, 0, 0.35) 25%,
        rgba(0, 0, 0, 0.65) 60%,
        rgba(0, 0, 0, 0.85) 100%
    );
    color: #fff;
}

/* Headline Title */
.headline-title a {
    font-size: 2.2rem;
    font-weight: 800;
    line-height: 1.25;
    color: #fff;
    text-decoration: none;
    letter-spacing: .3px;
}

.headline-title a:hover {
    color: #f8d30b;
}

/* Subheadline */
.headline-sub {
    font-size: 1.15rem;
    margin-top: .5rem;
    opacity: .92;
}

/* Meta */
.headline-meta {
    opacity: .82;
    font-size: .9rem;
    margin-top: .75rem;
}

/* =======================
   EDITOR'S PICK (PREMIUM)
   ======================= */

.editors-premium {
    margin: 2.5rem 0;
}

.editors-title-premium {
    font-size: 2rem;
    font-weight: 800;
    margin-bottom: 1.5rem;
    color: #111;
}

/* GRID */
.editors-grid-premium {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: 1.8rem;
}

/* CARD */
.editors-card-premium {
    border-radius: 14px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 4px 22px rgba(0,0,0,0.12);
    transition: all .25s ease;
    display: flex;
    flex-direction: column;
}

.editors-card-premium:hover {
    transform: translateY(-6px);
    box-shadow: 0 10px 28px rgba(0,0,0,0.18);
}

/* THUMB */
.premium-thumb-wrap {
    display: block;
    width: 100%;
    height: 200px;
    overflow: hidden;
}

.premium-thumb {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .35s ease;
}

.editors-card-premium:hover .premium-thumb {
    transform: scale(1.07);
}

/* TEXT AREA */
.premium-info {
    padding: 1.2rem 1rem 1.3rem;
}

.premium-title a {
    color: #111;
    font-weight: 700;
    font-size: 1.2rem;
    line-height: 1.35;
    text-decoration: none;
    display: block;
}

.premium-title a:hover {
    color: #0055cc;
}

/* META */
.premium-meta {
    font-size: .9rem;
    margin-top: .4rem;
    color: #666;
}

/* RESPONSIVE */
@media (max-width: 768px) {
    .premium-thumb-wrap {
        height: 160px;
    }
    .premium-title a {
        font-size: 1rem;
    }
}

/* === BERITA TERBARU === */

.latest-block {
    margin: 40px 0;
}

.latest-list {
    display: flex;
    flex-direction: column;
    gap: 22px;
}

.latest-item {
    display: flex;
    gap: 18px;
    padding-bottom: 18px;
    border-bottom: 1px solid #e6e6e6;
}

.latest-thumb-wrap {
    flex-shrink: 0;
}

.latest-thumb {
    width: 140px;
    height: 90px;
    object-fit: cover;
    border-radius: 10px;
}

/* TEKS */
.latest-info {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.latest-title {
    margin: 0 0 6px 0;
    font-size: 1.05rem;
    font-weight: 600;
    line-height: 1.35;
}

.latest-title a {
    color: #0a2a6b;
    text-decoration: none;
}

.latest-title a:hover {
    text-decoration: underline;
}

.latest-meta {
    font-size: .85rem;
    color: #666;
}

/* MOBILE OPTIMIZATION */
@media (max-width: 575px) {

    .latest-item {
        align-items: flex-start;
    }

    .latest-thumb {
        width: 110px;
        height: 75px;
    }

    .latest-title {
        font-size: 1rem;
    }
}

/* ============================
   MOBILE RESPONSIVE
   ============================ */

@media (max-width: 992px) {
    .headline-img {
        height: 300px;
    }
    .headline-title a {
        font-size: 1.8rem;
    }
    .headline-sub {
        font-size: 1.05rem;
    }
}

@media (max-width: 768px) {
    .headline-block {
        margin-bottom: 2rem;
    }
    .headline-img {
        height: 250px;
    }
    .headline-title a {
        font-size: 1.5rem;
    }
    .headline-sub {
        font-size: 1rem;
    }
}

@media (max-width: 480px) {
    .headline-img {
        height: 220px;
    }
    .headline-title a {
        font-size: 1.35rem;
    }
}

/* RESPONSIVE */
@media (max-width: 1024px) {
    .main-menu {
        gap: 1rem;
    }

    .sub-menu {
        overflow-x: auto;
        justify-content: flex-start;
        padding-bottom: 0.9rem;
    }
}

@media (max-width: 800px) {
    .main-menu {
        display: none;
    }
}

.icon-btn i {
    font-size: 1.2rem;
    color: #111 !important;
    display: inline-block;
    line-height: 1;
}

.header-icons .icon-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: #f2f4f7;
    border: 1px solid #d6d9de;
    cursor: pointer;
    transition: background 0.2s ease;
}

.header-icons .icon-btn:hover {
    background: #e5e7eb;
}

.header-icons .icon-btn i {
    color: #333 !important;
}

.brand{
    display:flex;
    gap:.75rem;
    align-items:center;
    min-width:0;
}
.brand h1{
    font-size:1.125rem;
    margin:0;
    line-height:1;
    font-weight:600;
    white-space:nowrap;
}
.brand small{display:block;font-size:.8rem;color:rgba(255,255,255,.9)}

nav.main-nav{
    margin-left:auto;
}
nav.main-nav a{
    color:rgba(255,255,255,.95);
    margin-left:1rem;
    font-size:.95rem;
}

.hero{
    margin-top:1rem;
    display:flex;
    gap:1rem;
    align-items:stretch;
}

main.article-wrap{
    flex:1 1 60%;
    background:var(--card);
    border-radius:var(--radius);
    padding:1rem;
    box-shadow:0 4px 18px rgba(2,6,23,0.05);
}

/* Sidebar */
aside.sidebar{
    width:320px;
    flex:0 0 320px;
    margin-left:1rem;
}
aside .card{
    background:var(--card);
    border-radius:var(--radius);
    padding:1rem;
    margin-bottom:1rem;
    box-shadow:0 6px 18px rgba(2,6,23,0.04);
}

/* Article */
.article-meta{color:var(--muted);font-size:.9rem;margin-bottom:.5rem}
.article-title{font-size:1.6rem;margin:0 0 .6rem 0;line-height:1.15}
.article-subtitle{color:var(--muted);margin:0 0 1rem 0;font-size:1rem}

.featured-img{
    width:100%;
    height:auto;
    display:block;
    border-radius:6px;
    object-fit:cover;
    margin:1rem 0;
}

.article-content{
    font-size:1rem;
    color:#111827;
}

/* Homepage list */
.post-list{display:flex;flex-direction:column;gap:1rem}
.post-card{display:flex;gap:1rem;align-items:flex-start}
.post-thumb{width:160px;height:100px;flex-shrink:0;border-radius:6px;overflow:hidden;background:#efefef}
.post-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.post-meta-title{flex:1}
.post-title{font-weight:600;margin:0 0 .25rem 0}
.post-excerpt{margin:0;color:var(--muted);font-size:.95rem}

/* footer */
footer.site-footer{
    margin-top:1rem;
    padding:.9rem;
    text-align:center;
    color:var(--muted);
    font-size:.9rem;
}

/* utility */
.kicker{display:inline-block;padding:.15rem .5rem;border-radius:999px;background:rgba(0,0,0,0.06);font-size:.8rem;color:var(--muted);margin-bottom:.5rem}
.tags{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:1rem}
.tag{background:#f1f5f9;padding:.25rem .5rem;border-radius:6px;font-size:.85rem;color:var(--muted)}

/* responsive */
@media (max-width: 1024px){
    aside.sidebar{width:280px;flex:0 0 280px}
    .post-thumb{width:140px;height:86px}
}
@media (max-width: 800px){
    .hero{flex-direction:column}
    aside.sidebar{width:100%;flex:0 0 auto;margin-left:0}
    nav.main-nav{display:none}
    header.site-header{padding:.75rem}
}
@media (max-width:480px){
    .article-title{font-size:1.25rem}
    .post-thumb{width:110px;height:72px}
}

/* -------------------------------------- */
/* HEADLINE SECTION */
/* -------------------------------------- */
.home-headline .headline-container {
    height: 420px;
    position: relative;
}

.headline-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.headline-gradient {
    position: absolute;
    bottom: 0;
    width: 100%;
    height: 55%;
    background: linear-gradient(to top, rgba(0,0,0,0.75), rgba(0,0,0,0));
}

.headline-text {
    position: absolute;
    bottom: 25px;
    left: 25px;
    right: 25px;
    color: white;
}

.headline-title {
    font-size: 1.9rem;
    font-weight: 700;
    line-height: 2.3rem;
}

.headline-title a {
    color: white;
    text-decoration: none;
}

.headline-sub {
    font-size: 1.1rem;
    opacity: 0.9;
    margin-top: 5px;
}

.headline-meta {
    font-size: .9rem;
    opacity: 0.85;
    margin-top: 10px;
}


/* -------------------------------------- */
/* SECTION HEADING */
/* -------------------------------------- */
.section-heading {
    font-size: 1.4rem;
    font-weight: 700;
    border-left: 5px solid #004aad;
    padding-left: 12px;
    margin-bottom: 15px;
}


/* -------------------------------------- */
/* EDITOR'S PICK */
/* -------------------------------------- */
.ep-card {
    background: #fff;
    border-radius: 8px;
    transition: .3s;
}

.ep-card:hover {
    transform: translateY(-5px);
}

.ep-thumb-wrap {
    display: block;
    height: 160px;
    overflow: hidden;
}

.ep-thumb {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.ep-title a {
    color: #111;
    font-weight: 600;
    font-size: 1rem;
    text-decoration: none;
}

.ep-title a:hover {
    color: #004aad;
}

.ep-meta {
    font-size: .85rem;
    color: #888;
    margin-top: 4px;
}


/* -------------------------------------- */
/* LATEST LIST */
/* -------------------------------------- */
.latest-list {
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.latest-item {
    gap: 14px;
}

.latest-thumb-wrap {
    width: 145px;
    height: 95px;
    border-radius: 6px;
    overflow: hidden;
}

.latest-thumb {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.latest-info {
    flex: 1;
}

.latest-title a {
    font-size: 1.05rem;
    font-weight: 600;
    color: #000;
    text-decoration: none;
}

.latest-title a:hover {
    color: #004aad;
}

.latest-meta {
    font-size: .85rem;
    color: #777;
    margin-top: 5px;
}


/* RESPONSIVE */
@media (max-width: 768px) {
    .home-headline .headline-container { height: 320px; }

    .headline-title { font-size: 1.4rem; line-height: 1.8rem; }
    .ep-thumb-wrap { height: 140px; }
}