/*
Theme Name: Nomina
Theme URI: https://metrocakrawala.id
Author: Tim Metro Cakrawala
Author URI: https://metrocakrawala.id
Description: Tema WordPress berita modern dengan desain responsif
Version: 1.0
License: GNU General Public License v2 or later
Text Domain: nomina
*/

:root {
    --primary-color: #e6000b;
    --primary-dark: #b80009;
    --purple-color: #260062;
    --gradient: linear-gradient(90deg, rgba(230, 0, 11, 1) 0%, rgba(38, 0, 98, 1) 100%);
    --gradient-purple: linear-gradient(135deg, #260062 0%, #4a1a8a 100%);
}

* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

body {
    font-family: 'Montserrat', sans-serif;
    font-size: 14px;
    line-height: 1.6;
    color: #333;
    background: #fff;
}

a {
    text-decoration: none;
    color: inherit;
    transition: all 0.3s ease;
}

img {
    max-width: 100%;
    height: auto;
}

.clr {
    clear: both;
}

/* ========== BANNER MOBILE TOP ========== */
#sidebar-banner-mobile-top-header-parallax {
    display: none;
}

@media (max-width: 768px) {
    #sidebar-banner-mobile-top-header-parallax {
        display: block;
        position: relative;
        background: #f2f2f2;
        border-bottom: 1px solid #ddd;
    }

    #sidebar-banner-mobile-top-header-parallax .close-button {
        position: absolute;
        top: 6px;
        right: 6px;
        z-index: 2;
        padding: 4px 10px;
        font-size: 10px;
        font-weight: 700;
        letter-spacing: 0.5px;
        color: #fff;
        background: rgba(0, 0, 0, 0.65);
        border-radius: 3px;
    }

    .sidebar-banner-mobile-top-header-parallax-wrap {
        text-align: center;
    }

    .sidebar-banner-mobile-top-header-parallax-wrap .tigaa {
        display: flex;
        justify-content: center;
    }

    .banner-mobile-top-widget img {
        display: block;
        max-width: 100%;
        height: auto;
        margin: 0 auto;
    }

    .scroll-to-continue {
        padding: 6px 10px;
        font-size: 10px;
        font-weight: 600;
        letter-spacing: 1px;
        color: #888;
    }
}

/* ========== BANNER BAWAH (STICKY) ========== */
#sidebar-banner-bawah {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 990;
    background: rgba(255, 255, 255, 0.97);
    border-top: 1px solid #ddd;
    box-shadow: 0 -3px 10px rgba(0, 0, 0, 0.1);
}

.sidebar-banner-bawah-wrap {
    display: flex;
    justify-content: center;
    padding: 5px;
}

.banner-bawah-widget img {
    display: block;
    max-width: 100%;
    max-height: 120px;
    width: auto;
    height: auto;
    margin: 0 auto;
}

#sidebar-banner-bawah .close-banner-bawah {
    position: absolute;
    top: -26px;
    right: 8px;
    width: 26px;
    height: 26px;
    line-height: 26px;
    text-align: center;
    font-size: 12px;
    color: #fff;
    background: rgba(0, 0, 0, 0.7);
    border-radius: 4px 4px 0 0;
}

#sidebar-banner-bawah .close-banner-bawah:hover {
    background: var(--primary-color);
}

/* ========== HEADER ========== */
header {
    position: relative;
    z-index: 999;
}

.header-fixed {
    background: #fff;
}

.header-shrink {
    max-width: 1200px;
    margin: 0 auto;
    padding: 12px 15px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
}

#logo img {
    max-height: 45px;
    width: auto;
}

.media-social-header {
    display: flex;
    gap: 6px;
    align-items: center;
}

.media-social-header img {
    width: 26px;
    height: 26px;
    border-radius: 50%;
    transition: transform 0.3s;
}

.media-social-header img:hover {
    transform: scale(1.15);
}

/* Search Form - Rounded */
.search-form {
    position: relative;
    display: flex;
    max-width: 220px;
    width: 100%;
}

.search-form .search-field {
    width: 100%;
    padding: 8px 45px 8px 15px;
    border: 1.5px solid var(--primary-color);
    border-radius: 20px;
    font-size: 13px;
    outline: none;
    font-family: 'Montserrat', sans-serif;
}

.search-form .search-submit {
    position: absolute;
    right: 3px;
    top: 3px;
    bottom: 3px;
    width: 34px;
    border: none;
    background-color: var(--primary-color);
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="white"><path d="M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"/></svg>');
    background-repeat: no-repeat;
    background-position: center;
    background-size: 16px;
    cursor: pointer;
    border-radius: 50%;
}

/* Hamburger Menu */
.hamburger-button {
    display: none;
    flex-direction: column;
    gap: 5px;
    cursor: pointer;
    padding: 8px 5px;
    background: none;
    border: 0;
}

.hamburger-button>div {
    width: 25px;
    height: 3px;
    background: var(--primary-color);
    border-radius: 3px;
}

/* Navigation - SOLID RED (sesuai gambar) */
.fluid-nav {
    background: #e6000b;
    border-top: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
}

.menu-utama {
    display: flex;
    list-style: none;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 15px;
    flex-wrap: wrap;
}

.menu-utama>li {
    position: relative;
}

.menu-utama>li>a {
    display: block;
    padding: 12px 18px;
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.menu-utama>li>a:hover,
.menu-utama>.current-menu-item>a {
    background: #b80009;
}

.menu-utama .sub-menu {
    position: absolute;
    top: 100%;
    left: 0;
    background: #e6000b;
    min-width: 180px;
    list-style: none;
    display: none;
    z-index: 100;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
}

.menu-utama li:hover>.sub-menu {
    display: block;
}

.menu-utama .sub-menu li a {
    display: block;
    padding: 10px 15px;
    color: #fff;
    font-size: 12px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.menu-utama .sub-menu li a:hover {
    background: #b80009;
}

/* Mobile Menu */
.mobile-menu-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.5);
    z-index: 9998;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
}

.mobile-menu-overlay.active {
    opacity: 1;
    visibility: visible;
}

.mobile-menu-kiri-wrap {
    position: fixed;
    top: 0;
    left: 0;
    width: 280px;
    max-width: 85vw;
    height: 100%;
    height: 100dvh;
    background: #fff;
    z-index: 9999;
    padding: 15px 20px 30px;
    box-shadow: 2px 0 10px rgba(0, 0, 0, 0.2);
    transform: translateX(-105%);
    visibility: hidden;
    transition: transform 0.3s ease, visibility 0.3s ease;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}

.mobile-menu-kiri-wrap.active {
    transform: translateX(0);
    visibility: visible;
}

.mobile-menu-kiri-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding-bottom: 12px;
    margin-bottom: 15px;
    border-bottom: 2px solid var(--primary-color);
}

#logo-menu-kiri img {
    max-height: 36px;
    width: auto;
}

.close-button-hamburger {
    flex-shrink: 0;
    width: 36px;
    height: 36px;
    font-size: 20px;
    line-height: 1;
    cursor: pointer;
    color: #333;
    background: none;
    border: 0;
}

.mobile-menu-kiri-wrap .search-form {
    max-width: none;
}

.mobile-menu-kiri,
.mobile-menu-kiri ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.mobile-menu-kiri {
    margin-top: 15px;
}

.mobile-menu-kiri li {
    position: relative;
}

.mobile-menu-kiri li a {
    display: block;
    padding: 12px 40px 12px 0;
    border-bottom: 1px solid #eee;
    color: #333;
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
}

.mobile-menu-kiri li a:hover,
.mobile-menu-kiri .current-menu-item>a {
    color: var(--primary-color);
}

.mobile-menu-kiri .sub-menu,
.mobile-menu-kiri .children {
    display: none;
    padding-left: 15px;
}

.mobile-menu-kiri li.submenu-open>.sub-menu,
.mobile-menu-kiri li.submenu-open>.children {
    display: block;
}

.mobile-menu-kiri .sub-menu a,
.mobile-menu-kiri .children a {
    font-size: 13px;
    font-weight: 500;
    text-transform: none;
}

.submenu-toggle {
    position: absolute;
    top: 4px;
    right: 0;
    width: 36px;
    height: 36px;
    background: none;
    border: 0;
    cursor: pointer;
    color: #333;
    font-size: 18px;
    transition: transform 0.3s ease;
}

.submenu-open>.submenu-toggle {
    transform: rotate(180deg);
}

/* Marquee - Purple Background (sesuai gambar) */
.marquee-baru {
    background: #260062;
    overflow: hidden;
}

.marquee-baru .inner-wrap {
    max-width: 1200px;
    margin: 0 auto;
    padding: 10px 15px;
    overflow: hidden;
}

.marquee-baru .inner p {
    display: flex;
    gap: 40px;
    animation: marquee 25s linear infinite; /* durasi diatur ulang oleh js/script.js */
    white-space: nowrap;
}

.marquee-baru .inner p:hover {
    animation-play-state: paused;
}

.marquee-baru .inner a {
    color: #fff;
    font-size: 11px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

.marquee-baru .inner a:before {
    content: "•";
    color: #ffcc00;
    margin-right: 8px;
    font-size: 14px;
}

@keyframes marquee {
    0% {
        transform: translateX(0);
    }

    100% {
        transform: translateX(-50%);
    }
}

/* ========== CONTENT ========== */
#content-wrap {
    max-width: 1200px;
    margin: 20px auto;
    padding: 0 15px;
    display: flex;
    gap: 25px;
}

#content-left-wrap {
    flex: 1;
    min-width: 0;
}

#sidebar-right {
    width: 300px;
    flex-shrink: 0;
}

/* ========== SLIDER ========== */
.slider-container {
    margin-bottom: 25px;
}

.swiper.mySwiper2 {
    position: relative;
    border-radius: 4px;
    overflow: hidden;
}

.swiper-slide {
    position: relative;
    overflow: hidden;
}

.foto-slider {
    width: 100%;
    height: 400px;
    object-fit: cover;
    display: block;
}

.judul-headline {
    position: absolute;
    top: 12px;
    left: 12px;
    background: #e6000b;
    color: #fff;
    padding: 4px 14px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    z-index: 2;
    border-radius: 3px;
}

.slider-text {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 20px 20px 25px;
    background: linear-gradient(transparent, rgba(0, 0, 0, 0.85));
    z-index: 2;
}

.slider-kategori {
    display: inline-block;
    background: #e6000b;
    color: #fff;
    padding: 3px 10px;
    font-size: 10px;
    border-radius: 3px;
    margin-bottom: 8px;
    text-transform: uppercase;
    font-weight: 700;
}

.judul-slider {
    display: block;
    color: #fff;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.3;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
}

.swiper-button-next,
.swiper-button-prev {
    color: #fff;
    background: rgba(0, 0, 0, 0.4);
    width: 35px;
    height: 35px;
    border-radius: 50%;
}

.swiper-button-next:after,
.swiper-button-prev:after {
    font-size: 14px;
    font-weight: 700;
}

/* Thumbnail Slider */
.swiper.mySwiper {
    margin-top: 10px;
}

.swiper.mySwiper .swiper-slide {
    cursor: pointer;
    border-radius: 3px;
    overflow: hidden;
    background: #f5f5f5;
    border: 2px solid transparent;
    transition: border-color 0.3s;
}

.swiper.mySwiper .swiper-slide-thumb-active {
    border-color: #e6000b;
}

.swiper.mySwiper .swiper-slide img {
    width: 100%;
    height: 85px;
    object-fit: cover;
    display: block;
}

.swiper.mySwiper .judul-thumbnail {
    font-size: 10px;
    padding: 6px 8px;
    background: #fff;
    color: #333;
    line-height: 1.3;
    margin: 0;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    height: 44px;
}

/* ========== NEWS FEED ========== */
#news-feed {
    margin-bottom: 30px;
}

/* Section Title dengan garis merah (sesuai gambar) */
.news-feed-judul-block {
    color: #222;
    padding: 0 0 8px 0;
    font-size: 15px;
    font-weight: 800;
    text-transform: uppercase;
    margin-bottom: 20px;
    border-bottom: 2px solid #e6000b;
    position: relative;
    letter-spacing: 0.5px;
}

.news-feed-judul-block span {
    position: relative;
}

.news-feed-judul-block span:after {
    content: "";
    position: absolute;
    bottom: -10px;
    left: 0;
    width: 60px;
    height: 3px;
    background: #e6000b;
}

/* News Feed List - dengan gambar kiri, teks kanan */
.news-feed-list {
    margin-bottom: 20px;
    border-bottom: 1px solid #eee;
    padding-bottom: 20px;
}

.news-feed-list:last-child {
    border-bottom: none;
}

.news-feed-list a {
    display: flex;
    gap: 18px;
    text-decoration: none;
}

.news-feed-list figure {
    flex-shrink: 0;
    width: 200px;
    margin: 0;
    overflow: hidden;
    border-radius: 6px;
}

.news-feed-list figure img {
    width: 100%;
    height: 130px;
    object-fit: cover;
    display: block;
    transition: transform 0.3s;
}

.news-feed-list:hover figure img {
    transform: scale(1.05);
}

.newsfeed-image-mobile {
    display: none;
}

.news-feed-text-block {
    flex: 1;
    min-width: 0;
}

.kategori {
    display: inline-block;
    color: #e6000b;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    margin-bottom: 6px;
    letter-spacing: 0.5px;
}

.news-feed-judul {
    font-size: 17px;
    font-weight: 700;
    color: #222;
    line-height: 1.35;
    margin-bottom: 8px;
    transition: color 0.3s;
}

.news-feed-list:hover .news-feed-judul {
    color: #e6000b;
}

.tanggal {
    font-size: 11px;
    color: #999;
    font-weight: 500;
}

.the-excerpt {
    font-size: 13px;
    color: #666;
    line-height: 1.6;
    margin-top: 8px;
}

.the-excerpt p {
    margin: 0;
}

/* ========== BERITA PILIHAN (Nasional) ========== */
#berita-pilihan {
    margin: 30px 0;
    background: #260062;
    padding: 20px;
    border-radius: 6px;
}

.judul-berita-pilihan {
    font-size: 14px;
    font-weight: 800;
    color: #fff;
    text-transform: uppercase;
    margin-bottom: 15px;
    letter-spacing: 0.5px;
    display: inline-block;
    border-bottom: 2px solid #ffcc00;
    padding-bottom: 5px;
}

.owl-carousel .berita-pilihan-box {
    background: transparent;
    border: none;
    border-radius: 0;
    overflow: hidden;
    transition: all 0.3s;
}

.berita-pilihan-box img {
    width: 100%;
    height: 120px;
    object-fit: cover;
    border-radius: 4px;
    border: 2px solid rgba(255, 255, 255, 0.2);
    transition: border-color 0.3s;
}

.berita-pilihan-box:hover img {
    border-color: #ffcc00;
}

.berita-pilihan-box .kategori-berita-pilihan {
    font-size: 10px;
    color: #ffcc00;
    font-weight: 700;
    text-transform: uppercase;
    padding: 8px 0 4px;
}

.berita-pilihan-box h2 {
    padding: 0;
    font-size: 12px;
    line-height: 1.4;
    font-weight: 600;
}

.berita-pilihan-box h2 a {
    color: #fff;
}

.berita-pilihan-box h2 a:hover {
    color: #ffcc00;
}

.owl-carousel .owl-nav button {
    background: #ffcc00 !important;
    color: #260062 !important;
    width: 30px;
    height: 30px;
    border-radius: 50% !important;
    font-size: 16px !important;
}

.owl-carousel .owl-nav button:hover {
    background: #fff !important;
}

/* ========== BERITA REKOMENDASI (Daerah) ========== */
#berita-rekomendasi {
    margin: 30px 0;
    background: #260062;
    padding: 20px;
    border-radius: 6px;
}

.judul-berita-rekomendasi {
    font-size: 14px;
    font-weight: 800;
    color: #fff;
    text-transform: uppercase;
    margin-bottom: 15px;
    letter-spacing: 0.5px;
    display: inline-block;
    border-bottom: 2px solid #ffcc00;
    padding-bottom: 5px;
}

.berita-rekomendasi-box {
    position: relative;
    border-radius: 6px;
    overflow: hidden;
    cursor: pointer;
}

.berita-rekomendasi-box img {
    width: 100%;
    height: 350px;
    object-fit: cover;
    display: block;
    transition: transform 0.3s;
}

.berita-rekomendasi-box:hover img {
    transform: scale(1.05);
}

.text-berita-rekomendasi {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 15px;
    background: linear-gradient(transparent, rgba(0, 0, 0, 0.9));
}

.kategori-berita-rekomendasi {
    display: inline-block;
    background: #ffcc00;
    color: #260062;
    padding: 2px 8px;
    font-size: 10px;
    border-radius: 3px;
    margin-bottom: 6px;
    font-weight: 700;
    text-transform: uppercase;
}

.berita-rekomendasi-box h2 a {
    color: #fff;
    font-size: 13px;
    line-height: 1.3;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.5);
    font-weight: 600;
}

/* ========== PAGINATION ========== */
.next-wrap {
    margin: 30px 0;
}

.nav-links {
    display: flex;
    gap: 5px;
    flex-wrap: wrap;
    justify-content: center;
}

.page-numbers {
    display: inline-block;
    padding: 8px 14px;
    background: #f5f5f5;
    color: #333;
    border-radius: 4px;
    font-weight: 600;
    font-size: 13px;
    transition: all 0.3s;
}

.page-numbers:hover,
.page-numbers.current {
    background: #e6000b;
    color: #fff;
}

.page-numbers.dots {
    background: transparent;
    cursor: default;
}

.next.page-numbers {
    background: #e6000b;
    color: #fff;
}

/* ========== SIDEBAR ========== */
.sidebar-right-wrap {
    position: sticky;
    top: 20px;
}

/* Judul Sidebar dengan garis bawah (sesuai gambar) */
.judul-sidebar-right {
    font-size: 14px;
    font-weight: 800;
    color: #222;
    text-transform: uppercase;
    margin-bottom: 18px;
    padding-bottom: 8px;
    border-bottom: 2px solid #e6000b;
    position: relative;
    letter-spacing: 0.5px;
}

.judul-sidebar-right:after {
    content: "";
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 50px;
    height: 2px;
    background: #260062;
}

/* Trending Widget */
.wpp-list {
    list-style: none;
}

.wpp-list li {
    padding: 12px 0;
    border-bottom: 1px solid #f0f0f0;
    display: flex;
    align-items: flex-start;
    gap: 10px;
}

.wpp-list li:last-child {
    border-bottom: none;
}

.wpp-list li:before {
    content: counter(item);
    counter-increment: item;
    background: #e6000b;
    color: #fff;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    font-weight: 700;
    flex-shrink: 0;
}

.wpp-list {
    counter-reset: item;
}

.wpp-list li a {
    color: #333;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.4;
}

.wpp-list li a:hover {
    color: #e6000b;
}

/* Widget wrapper */
.before-widget {
    background: #fff;
    border: 1px solid #eee;
    border-radius: 6px;
    padding: 18px;
    margin-bottom: 20px;
}

/* ========== JADWAL SHOLAT (Sesuai gambar) ========== */
.sholat-wrap {
    text-align: center;
    padding: 5px;
    background: linear-gradient(180deg, #260062 0%, #4a1a8a 100%);
    border-radius: 6px;
    color: #fff;
    position: relative;
    overflow: hidden;
}

.sholat-wrap:before {
    content: "🕌";
    position: absolute;
    top: 10px;
    left: 50%;
    transform: translateX(-50%);
    font-size: 60px;
    opacity: 0.15;
}

.sholat-wrap h3 {
    font-size: 13px;
    color: #ffcc00;
    margin-bottom: 5px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    position: relative;
}

.tanggal-hijriyah {
    font-size: 11px;
    color: #fff;
    margin-bottom: 12px;
    position: relative;
    opacity: 0.9;
}

.sholat-wrap select {
    width: 100%;
    padding: 8px;
    border: 1px solid rgba(255, 255, 255, 0.3);
    background: rgba(255, 255, 255, 0.1);
    color: #fff;
    border-radius: 4px;
    margin-bottom: 12px;
    font-size: 12px;
    position: relative;
    font-family: 'Montserrat', sans-serif;
}

.sholat-wrap select option {
    background: #260062;
    color: #fff;
}

.sholat-wrap ul {
    list-style: none;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 5px;
    position: relative;
}

.sholat-wrap ul li {
    display: flex;
    justify-content: space-between;
    padding: 6px 10px;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 4px;
    font-size: 11px;
    color: #fff;
}

.sholat-wrap ul li strong {
    color: #ffcc00;
    font-weight: 700;
}

#countdown {
    margin-top: 12px;
    padding: 8px;
    background: rgba(255, 204, 0, 0.15);
    border: 1px solid rgba(255, 204, 0, 0.3);
    color: #ffcc00;
    border-radius: 4px;
    text-align: center;
    font-size: 11px;
    position: relative;
}

#countdown span {
    font-weight: 700;
    font-size: 12px;
    color: #fff;
}

.sholat-wrap p a {
    font-size: 10px;
    color: #ffcc00;
    display: block;
    margin-top: 8px;
    text-align: center;
    position: relative;
}

/* ========== TAG CLOUD ========== */
.tagcloud {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.tagcloud a {
    display: inline-block;
    padding: 5px 12px;
    background: #f5f5f5;
    color: #333;
    border-radius: 4px;
    font-size: 11px !important;
    transition: all 0.3s;
    font-weight: 500;
}

.tagcloud a:hover {
    background: #e6000b;
    color: #fff;
}

.tagcloud a .tag-link-count {
    color: #e6000b;
    font-weight: 700;
}

.tagcloud a:hover .tag-link-count {
    color: #fff;
}

/* ========== RECENT POST WIDGET ========== */
.recent-post-widget {
    display: flex;
    gap: 12px;
    padding: 12px 0;
    border-bottom: 1px solid #f0f0f0;
    align-items: flex-start;
    flex-wrap: wrap;
}

.recent-post-widget:last-child {
    border-bottom: none;
}

.recent-post-widget>p {
    margin: 0;
    flex-shrink: 0;
    width: 90px;
}

.recent-post-widget img {
    width: 90px;
    height: 65px;
    object-fit: cover;
    border-radius: 4px;
}

.recent-post-widget>a {
    font-size: 13px;
    font-weight: 600;
    color: #333;
    line-height: 1.4;
    flex: 1;
    min-width: 0;
}

.recent-post-widget>a:hover {
    color: #e6000b;
}

.recent-post-widget .waktu {
    font-size: 10px;
    color: #999;
    margin-top: 5px;
    width: 100%;
}

/* ========== FOOTER ========== */
footer {
    background: #260062;
    color: #fff;
    padding: 40px 15px 20px;
    margin-top: 40px;
    border-top: 4px solid #e6000b;
}

.logo-footer {
    display: block;
    width: fit-content;
    margin: 0 auto 20px;
}

.logo-footer a {
    display: block;
}

.logo-footer img {
    display: block;
    max-height: 55px;
    width: auto;
}

.alamat {
    text-align: center;
    font-size: 12px;
    line-height: 1.8;
    max-width: 800px;
    margin: 0 auto 20px;
    opacity: 0.85;
}

.media-social-footer {
    display: flex;
    justify-content: center;
    gap: 10px;
    margin-bottom: 25px;
}

.media-social-footer img {
    width: 32px;
    height: 32px;
    opacity: 0.85;
    transition: all 0.3s;
}

.media-social-footer img:hover {
    opacity: 1;
    transform: scale(1.1);
}

.footer-copyright-wrap {
    max-width: 1200px;
    margin: 0 auto;
    padding-top: 20px;
    border-top: 1px solid rgba(255, 255, 255, 0.15);
    text-align: center;
}

.menu-network-wrap {
    margin-bottom: 20px;
}

.network-title {
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    margin-bottom: 10px;
    color: #ffcc00;
    letter-spacing: 1px;
}

.menu-network {
    display: flex;
    justify-content: center;
    gap: 20px;
    list-style: none;
    flex-wrap: wrap;
}

.menu-network a {
    color: #fff;
    font-size: 12px;
    opacity: 0.8;
}

.menu-network a:hover {
    opacity: 1;
    color: #ffcc00;
}

.menu-bawah {
    display: flex;
    justify-content: center;
    gap: 20px;
    list-style: none;
    margin-bottom: 15px;
    flex-wrap: wrap;
}

.menu-bawah a {
    color: #fff;
    font-size: 12px;
    opacity: 0.9;
}

.menu-bawah a:hover {
    color: #ffcc00;
}

.footer-copyright {
    font-size: 11px;
    opacity: 0.7;
}

/* Scroll Top */
#stop.scrollTop {
    position: fixed;
    bottom: 20px;
    right: 20px;
    z-index: 100;
}

#stop.scrollTop span a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    background: #e6000b;
    color: #fff;
    border-radius: 50%;
    font-size: 18px;
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.3);
}

#stop.scrollTop span a:hover {
    background: #260062;
}

.arrow.up {
    display: block;
    width: 10px;
    height: 10px;
    border-left: 2px solid #fff;
    border-top: 2px solid #fff;
    transform: rotate(45deg);
    margin-top: 3px;
}

/* ========== SINGLE: ARTICLE ========== */
#single-content {
    min-width: 0;
}

#single-content > h1 {
    font-size: 28px;
    font-weight: 800;
    line-height: 1.35;
    color: #1a1a1a;
    margin-bottom: 12px;
}

.single-kategori {
    margin-bottom: 8px;
}

.single-kategori span {
    display: inline-block;
    padding: 4px 12px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    color: #fff;
    background: var(--primary-color);
    border-radius: 3px;
}

.single-kategori a:hover span {
    background: var(--purple-color);
}

.tanggal-single {
    font-size: 12px;
    color: #888;
    padding-bottom: 15px;
    margin-bottom: 20px;
    border-bottom: 1px solid #eee;
}

.single-thumbnail {
    margin-bottom: 25px;
}

.single-thumbnail img {
    display: block;
    width: 100%;
    max-height: 560px;
    object-fit: cover;
    border-radius: 8px;
}

.caption-photo {
    font-size: 12px;
    font-style: italic;
    line-height: 1.5;
    color: #777;
    padding: 8px 2px 0;
}

/* Isi artikel (the_content) */
.single-article-text {
    font-size: 16px;
    line-height: 1.85;
    color: #2b2b2b;
    word-wrap: break-word;
    overflow-wrap: break-word;
}

.single-article-text > * + * {
    margin-top: 1.1em;
}

.single-article-text p:empty {
    display: none;
}

.single-article-text a {
    color: var(--primary-color);
    text-decoration: underline;
    text-underline-offset: 2px;
}

.single-article-text a:hover {
    color: var(--purple-color);
}

.single-article-text strong,
.single-article-text b {
    font-weight: 700;
    color: #1a1a1a;
}

.single-article-text h2,
.single-article-text h3,
.single-article-text h4,
.single-article-text h5,
.single-article-text h6 {
    font-weight: 800;
    line-height: 1.4;
    color: #1a1a1a;
    margin-top: 1.6em;
}

.single-article-text h2 { font-size: 22px; }
.single-article-text h3 { font-size: 19px; }
.single-article-text h4 { font-size: 17px; }
.single-article-text h5,
.single-article-text h6 { font-size: 15px; }

.single-article-text ul,
.single-article-text ol {
    padding-left: 1.5em;
}

.single-article-text li + li {
    margin-top: 0.4em;
}

.single-article-text blockquote {
    padding: 15px 20px;
    font-size: 17px;
    font-style: italic;
    color: #444;
    background: #f8f8f8;
    border-left: 4px solid var(--primary-color);
    border-radius: 0 6px 6px 0;
}

.single-article-text blockquote cite {
    display: block;
    margin-top: 8px;
    font-size: 13px;
    font-style: normal;
    font-weight: 600;
    color: #777;
}

.single-article-text img {
    max-width: 100%;
    height: auto;
    border-radius: 6px;
}

.single-article-text figure {
    max-width: 100%;
}

.single-article-text figcaption,
.single-article-text .wp-caption-text {
    font-size: 12px;
    font-style: italic;
    line-height: 1.5;
    color: #777;
    margin-top: 6px;
    text-align: center;
}

.single-article-text .aligncenter {
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.single-article-text .alignleft {
    float: left;
    margin: 0.3em 1.2em 0.8em 0;
}

.single-article-text .alignright {
    float: right;
    margin: 0.3em 0 0.8em 1.2em;
}

.single-article-text iframe,
.single-article-text embed,
.single-article-text video {
    display: block;
    max-width: 100%;
}

.single-article-text .wp-block-embed__wrapper iframe {
    width: 100%;
}

.single-article-text table {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
    display: block;
    overflow-x: auto;
}

.single-article-text th,
.single-article-text td {
    padding: 8px 12px;
    border: 1px solid #ddd;
    text-align: left;
}

.single-article-text th {
    background: #f4f4f4;
    font-weight: 700;
}

.single-article-text hr {
    border: 0;
    border-top: 1px solid #ddd;
    margin: 1.8em 0;
}

.single-article-text::after {
    content: "";
    display: table;
    clear: both;
}

.page-link-wrap {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    font-weight: 600;
}

.page-link-wrap a,
.page-link-wrap > span:not(:first-child) {
    display: inline-block;
    min-width: 32px;
    padding: 5px 10px;
    text-align: center;
    text-decoration: none;
    border: 1px solid #ddd;
    border-radius: 4px;
}

/* Tags */
.tagname {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin: 30px 0;
    padding-top: 20px;
    border-top: 1px solid #eee;
}

.tagname span {
    font-size: 13px;
    font-weight: 700;
    color: #222;
}

.tagname a {
    display: inline-block;
    padding: 5px 12px;
    font-size: 12px;
    color: #444;
    background: #f2f2f2;
    border-radius: 15px;
}

.tagname a:hover {
    color: #fff;
    background: var(--primary-color);
}

@media (max-width: 768px) {
    #single-content > h1 {
        font-size: 22px;
    }

    .single-article-text {
        font-size: 15px;
        line-height: 1.8;
    }

    .single-article-text .alignleft,
    .single-article-text .alignright {
        float: none;
        margin: 0 auto;
    }
}

/* ========== SINGLE: AUTHOR BOX ========== */
.author-box {
    display: flex;
    align-items: flex-start;
    gap: 18px;
    margin: 20px 0;
    padding: 0px;
    background: #f8f8f8;
    border-left: 4px solid var(--primary-color);
    border-radius: 0px;
}

.author-avatar {
    flex-shrink: 0;
}

.author-avatar img {
    display: block;
    width: 80px;
    height: 80px;
    border-radius: 50%;
    object-fit: cover;
    border: 3px solid #fff;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}

.author-info {
    flex: 1;
    min-width: 0;
}

.author-label {
    display: inline-block;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: var(--primary-color);
    margin-bottom: 4px;
}

.nama-penulis {
    font-size: 18px;
    font-weight: 800;
    line-height: 1.3;
    margin-bottom: 6px;
}

.nama-penulis a {
    color: #222;
}

.nama-penulis a:hover {
    color: var(--primary-color);
}

.author-desc {
    font-size: 13px;
    line-height: 1.6;
    color: #555;
    margin-bottom: 8px;
}

.author-more {
    font-size: 12px;
    font-weight: 600;
    color: var(--purple-color);
}

.author-more:hover {
    color: var(--primary-color);
}

/* ========== SINGLE: RELATED POSTS ========== */
.related-post-wrap {
    margin: 30px 0;
}

.related-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
}

.related-item a {
    display: block;
}

.related-thumb {
    position: relative;
    aspect-ratio: 16 / 10;
    margin: 0 0 10px;
    overflow: hidden;
    border-radius: 6px;
    background: #eee;
}

.related-thumb img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s;
}

.related-item a:hover .related-thumb img {
    transform: scale(1.05);
}

.related-item h4 {
    font-size: 13px;
    font-weight: 700;
    line-height: 1.45;
    color: #222;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.related-item a:hover h4 {
    color: var(--primary-color);
}

.related-date {
    font-size: 11px;
    color: #888;
    margin-top: 6px;
}

@media (max-width: 768px) {
    .related-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 14px;
    }

    .author-box {
        padding: 15px;
        gap: 14px;
    }

    .author-avatar img {
        width: 60px;
        height: 60px;
    }

    .nama-penulis {
        font-size: 16px;
    }
}

/* ========== SINGLE: COMMENTS ========== */
.screen-reader-text {
    position: absolute !important;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(1px, 1px, 1px, 1px);
    white-space: nowrap;
}

.comments-area {
    margin: 30px 0;
}

.comment-list,
.comment-list .children {
    list-style: none;
    margin: 0;
    padding: 0;
}

.comment-list {
    margin-bottom: 30px;
}

.comment-list .children {
    margin-left: 30px;
    padding-left: 15px;
    border-left: 2px solid #eee;
}

.comment-list .comment-body {
    position: relative;
    padding: 15px 0 15px 62px;
    border-bottom: 1px solid #eee;
}

.comment-list .avatar {
    position: absolute;
    top: 15px;
    left: 0;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    object-fit: cover;
}

.comment-list .comment-author {
    font-size: 14px;
    font-weight: 700;
    color: #222;
}

.comment-list .comment-author .says {
    display: none;
}

.comment-list .comment-metadata {
    font-size: 11px;
    color: #888;
    margin: 2px 0 8px;
}

.comment-list .comment-metadata a {
    color: #888;
}

.comment-list .comment-content {
    font-size: 14px;
    line-height: 1.7;
    color: #444;
}

.comment-list .comment-content p {
    margin-bottom: 8px;
}

.comment-list .comment-awaiting-moderation {
    display: block;
    font-size: 12px;
    font-style: italic;
    color: var(--primary-color);
    margin-bottom: 6px;
}

.comment-list .reply a {
    display: inline-block;
    font-size: 12px;
    font-weight: 600;
    color: var(--purple-color);
}

.comment-list .reply a:hover {
    color: var(--primary-color);
}

.comment-respond {
    padding: 22px;
    background: #f8f8f8;
    border-radius: 8px;
}

.comment-respond .comment-reply-title small {
    float: right;
    font-size: 12px;
    text-transform: none;
}

.comment-respond .comment-reply-title small a {
    color: var(--primary-color);
}

.comment-respond .logged-in-as,
.comment-respond .comment-notes {
    font-size: 12px;
    color: #777;
    margin-bottom: 12px;
}

.comment-respond .logged-in-as a {
    color: var(--purple-color);
    font-weight: 600;
}

.comment-respond .logged-in-as a:hover {
    color: var(--primary-color);
}

.comment-respond label {
    display: block;
    font-size: 12px;
    font-weight: 600;
    color: #333;
    margin-bottom: 5px;
}

.comment-form-author,
.comment-form-email,
.comment-form-url {
    margin-bottom: 12px;
}

.comment-respond textarea,
.comment-respond input[type="text"],
.comment-respond input[type="email"],
.comment-respond input[type="url"] {
    width: 100%;
    padding: 12px 14px;
    font-family: 'Montserrat', sans-serif;
    font-size: 14px;
    color: #333;
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 6px;
    outline: none;
    transition: border-color 0.3s, box-shadow 0.3s;
}

.comment-respond textarea {
    min-height: 130px;
    resize: vertical;
}

.comment-respond textarea:focus,
.comment-respond input[type="text"]:focus,
.comment-respond input[type="email"]:focus,
.comment-respond input[type="url"]:focus {
    border-color: var(--primary-color);
    box-shadow: 0 0 0 3px rgba(230, 0, 11, 0.12);
}

.comment-form-comment {
    margin-bottom: 12px;
}

.comment-form-cookies-consent {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin-bottom: 12px;
}

.comment-form-cookies-consent label {
    font-weight: 400;
    color: #666;
    margin: 0;
}

.comment-respond .form-submit {
    margin: 0;
}

.comment-respond .comment-submit {
    padding: 11px 26px;
    font-family: 'Montserrat', sans-serif;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #fff;
    background: var(--primary-color);
    border: 0;
    border-radius: 25px;
    cursor: pointer;
    transition: background 0.3s;
}

.comment-respond .comment-submit:hover {
    background: var(--purple-color);
}

@media (max-width: 768px) {
    .comment-respond {
        padding: 16px;
    }

    .comment-list .children {
        margin-left: 12px;
        padding-left: 10px;
    }

    .comment-respond .comment-submit {
        width: 100%;
    }
}

/* ========== RESPONSIVE ========== */
@media (max-width: 1024px) {
    #content-wrap {
        flex-direction: column;
    }

    #sidebar-right {
        width: 100%;
    }

    .sidebar-right-wrap {
        position: static;
    }
}

@media (max-width: 768px) {
    .header-shrink {
        padding: 8px 10px;
    }

    .media-social-header,
    .header-shrink>.search-form {
        display: none;
    }

    .hamburger-button {
        display: flex;
    }

    .fluid-nav {
        display: none;
    }

    .news-feed-list a {
        gap: 12px;
    }

    .news-feed-list figure {
        width: 110px;
    }

    .news-feed-list figure img {
        height: 85px;
    }

    .newsfeed-image {
        display: none;
    }

    .newsfeed-image-mobile {
        display: block !important;
        width: 85px !important;
        height: 85px !important;
        border-radius: 6px;
    }

    .news-feed-judul {
        font-size: 14px;
    }

    .foto-slider {
        height: 250px;
    }

    .judul-slider {
        font-size: 14px;
    }

    .berita-rekomendasi-box img {
        height: 280px;
    }

    .judul-berita-pilihan,
    .judul-berita-rekomendasi {
        font-size: 12px;
    }
}

@media (max-width: 480px) {

    .berita-pilihan-box img {
        height: 100px;
    }

    .berita-rekomendasi-box img {
        height: 250px;
    }
}