Index.html
<!DOCTYPE html>
<html lang="id">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Deteksi Armedia Karawang — Future Lokal</title>
<meta name="description" content="Deteksi Armedia Karawang — Portal berita Karawang futuristik. Karawang Raya, Industri, Pertanian, Hukum. Jernih Melihat Fakta.">
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@500;600;700&family=Inter:wght@400;500;600;700&display=swap" rel="stylesheet">
<script src="https://cdn.tailwindcss.com"></script>
<script>
tailwind.config = {
theme: {
extend: {
fontFamily: {
'sans': ['Inter', 'system-ui', '-apple-system', 'Segoe UI', 'Helvetica', 'Arial', 'sans-serif'],
'display': ['"Space Grotesk"', 'Inter', 'system-ui', 'sans-serif'],
},
colors: {
'karawang-bg': '#081121',
'karawang-bg2': '#0a1222',
'karawang-surface': '#111c32',
'karawang-glass': 'rgba(19,30,52,0.72)',
'padi': '#00e676',
'padi-dim': '#2dd47a',
'citarum': '#00b8ff',
'citarum-dim': '#0096e6',
'pangkal': '#ffcc33',
'ink-light': '#d4dde9',
'ink-mute': '#8b98ab',
'line-glass': 'rgba(255,255,255,0.09)',
},
boxShadow: {
'neon-cyan': '0 0 28px rgba(0,184,255,0.18), inset 0 1px 0 rgba(255,255,255,0.06)',
'neon-green': '0 0 28px rgba(0,230,118,0.14), inset 0 1px 0 rgba(255,255,255,0.06)',
'lift': '0 18px 50px rgba(0,8,24,0.55)',
}
}
}
}
</script>
<style type="text/tailwindcss">
:root{
--bg: #081121;
--bg2: #0a1222;
--padi: #00e676;
--citarum: #00b8ff;
--gold: #ffcc33;
}
body{
background-color:#081121;
color:#d4dde9;
-webkit-font-smoothing:antialiased;
font-family: Inter, system-ui, sans-serif;
}
/* Grid background */
.future-grid{
background-color:#081121;
background-image:
linear-gradient(rgba(0,184,255,0.045) 1px, transparent 1px),
linear-gradient(90deg, rgba(0,184,255,0.032) 1px, transparent 1px),
radial-gradient(1200px 700px at 70% -10%, rgba(0,184,255,0.065), transparent 60%),
radial-gradient(900px 600px at -10% 20%, rgba(0,230,118,0.038), transparent 55%);
background-size: 48px 48px, 48px 48px, auto, auto;
}
/* Batik Karawang subtle pattern - padi & goyang karawang wave */
.batik-krw {
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='120' viewBox='0 0 220 120'%3E%3Cg fill='none' stroke='%23ffffff' stroke-opacity='0.72' stroke-width='0.9'%3E%3C!-- Padi stalk --%3E%3Cpath d='M28 92 C28 74 28 60 28 44'/%3E%3Cpath d='M28 78 C22 75 18 71 18 66'/%3E%3Cpath d='M28 78 C34 75 38 71 38 66'/%3E%3Cpath d='M28 66 C22 63 18 59 18 54'/%3E%3Cpath d='M28 66 C34 63 38 59 38 54'/%3E%3Cpath d='M28 54 C22 51 20 47 20 43'/%3E%3Cpath d='M28 54 C34 51 36 47 36 43'/%3E%3C!-- Goyang Karawang wave --%3E%3Cpath d='M74 70 C88 54 104 86 118 70 C132 54 148 86 162 70 C176 54 188 86 202 70' stroke-width='1.1'/%3E%3Cpath d='M74 82 C88 66 104 98 118 82 C132 66 148 98 162 82 C176 66 188 98 202 82' stroke-width='0.7' opacity='0.7'/%3E%3C/g%3E%3C/svg%3E");
background-repeat: repeat;
}
.wrap{ max-width:1180px; margin-left:auto; margin-right:auto; padding-left:20px; padding-right:20px;}
@media (max-width: 390px){ .wrap{ padding-left:16px; padding-right:16px;} }
.glass{
background: linear-gradient(180deg, rgba(26,39,65,0.78), rgba(16,26,46,0.68));
border: 1px solid rgba(255,255,255,0.09);
backdrop-filter: blur(14px);
-webkit-backdrop-filter: blur(14px);
}
.glass-strong{
background: linear-gradient(180deg, rgba(22,34,58,0.92), rgba(14,23,41,0.88));
border: 1px solid rgba(255,255,255,0.11);
backdrop-filter: blur(18px);
-webkit-backdrop-filter: blur(18px);
}
.display { font-family: "Space Grotesk", Inter, system-ui, sans-serif; }
.h-eyebrow { font-size: 11px; letter-spacing:.14em; text-transform:uppercase; font-weight:700; }
.line-clamp-2{ display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;}
.line-clamp-3{ display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden;}
/* Neon borders */
.neon-cyan-ring{ box-shadow: 0 0 0 1px rgba(0,184,255,0.38), 0 0 30px rgba(0,184,255,0.13), inset 0 1px 0 rgba(255,255,255,0.05); }
.neon-green-ring{ box-shadow: 0 0 0 1px rgba(0,230,118,0.28), 0 0 26px rgba(0,230,118,0.10), inset 0 1px 0 rgba(255,255,255,0.05); }
/* Card hover */
.news-card{ transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease; }
.news-card:hover{ transform: translateY(-5px); border-color: rgba(0,184,255,0.38); box-shadow: 0 18px 50px rgba(0,8,24,0.55), 0 0 28px rgba(0,184,255,0.10); }
/* Nav active */
.nav-pill-active{
background: rgba(0,184,255,0.10);
color: #9de7ff;
box-shadow: inset 0 0 0 1px rgba(0,184,255,0.28);
}
/* Scrollbar hide */
.no-scrollbar::-webkit-scrollbar{display:none}
.no-scrollbar{ -ms-overflow-style:none; scrollbar-width:none }
/* Ticker */
@keyframes ticker-scroll { from { transform: translateX(0); } to { transform: translateX(-50%); } }
.ticker-track { animation: ticker-scroll 55s linear infinite; }
.ticker-wrap:hover .ticker-track { animation-play-state: paused; }
/* Modal */
.modal-body::-webkit-scrollbar{ width:6px }
.modal-body::-webkit-scrollbar-thumb{ background:#23324a; border-radius:4px }
</style>
</head>
<body class="future-grid min-h-screen">
<!-- Top local bar -->
<div class="relative border-b border-white/[0.07] bg-[#070f1c]/80 backdrop-blur-md">
<div class="batik-krw absolute inset-0 opacity-[0.035] pointer-events-none" aria-hidden="true"></div>
<div class="wrap relative flex items-center justify-between h-[42px] text-[11.5px] text-[#96a4b8] gap-3">
<div class="flex items-center gap-4 md:gap-6 overflow-hidden">
<span class="text-[#c8d6e8] font-medium whitespace-nowrap">Kamis, 25 Juni 2026</span>
<span class="hidden sm:flex items-center gap-1.5 text-[#8fdeb7]"><span class="w-1.5 h-1.5 rounded-full bg-[#00e676] shadow-[0_0_8px_rgba(0,230,118,0.8)]"></span>Live Karawang</span>
<span class="hidden md:inline text-[#8ba0b8]">Suhu Karawang 31°C • Citarum Normal • PM2.5 Baik • 07:14 WIB</span>
</div>
<div class="flex items-center gap-4 md:gap-5 text-[11.5px] text-[#92a3b8] shrink-0">
<a href="#tentang" class="hover:text-[#dbe7f5] transition-colors hidden sm:inline">Tentang</a>
<a href="#redaksi" class="hover:text-[#dbe7f5] transition-colors hidden sm:inline">Redaksi</a>
<a href="#kontak" class="hover:text-[#dbe7f5] transition-colors">Kontak</a>
<div class="hidden lg:flex items-center gap-3 pl-4 border-l border-white/[0.09] text-[#7e8fa6]">
<a href="#" class="hover:text-citarum transition-colors">X</a>
<a href="#" class="hover:text-citarum transition-colors">IG</a>
<a href="#" class="hover:text-citarum transition-colors">YT</a>
<a href="#" class="hover:text-citarum transition-colors">TikTok</a>
</div>
</div>
</div>
</div>
<!-- Masthead -->
<header class="relative border-b border-white/[0.07] bg-[rgba(8,17,33,0.72)] backdrop-blur-xl">
<div class="batik-krw absolute inset-0 opacity-[0.03]" aria-hidden="true"></div>
<div class="wrap relative py-6 md:py-9">
<div class="flex flex-col lg:flex-row lg:items-end lg:justify-between gap-5">
<div>
<div class="flex items-center gap-3">
<div class="w-10 h-10 rounded-[12px] glass flex items-center justify-center neon-cyan-ring relative overflow-hidden shrink-0">
<span class="display font-bold text-[17px] text-[#9de7ff]">AR</span>
<div class="absolute inset-0 opacity-[0.16] batik-krw"></div>
</div>
<div>
<h1 class="display font-[700] text-[26px] sm:text-[33px] md:text-[40px] tracking-[-0.017em] leading-[1.05]">
<span class="text-[#eaf3ff]" style="text-shadow:0 0 22px rgba(0,184,255,0.15)">DETEKSI AR MEDIA</span>
<span class="text-[#7dbbff]"> | KARAWANG</span>
</h1>
<div class="text-[11px] sm:text-[12.5px] tracking-[0.18em] text-[#8aa2bd] font-[600] mt-1.5">
FUTURE LOKAL — <span class="text-[#86f0b8]">JERNIH MELIHAT FAKTA</span>
</div>
</div>
</div>
</div>
<div class="flex items-center gap-3">
<div class="relative hidden md:block">
<input id="site-search" type="search" placeholder="Cari berita Karawang..." class="w-[300px] xl:w-[340px] bg-[#0f1a2d]/90 border border-white/[0.11] rounded-full h-[44px] pl-11 pr-11 text-[13.5px] text-[#dbe7f3] outline-none focus:border-citarum/60 focus:ring-2 focus:ring-cyan-500/15 transition placeholder:text-[#6f8097]" />
<svg class="absolute left-4 top-1/2 -translate-y-1/2 text-[#6f8097]" width="17" height="17" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24"><circle cx="11" cy="11" r="8"/><path d="m21 21-4.35-4.35"/></svg>
<button id="clear-search" class="absolute right-3.5 top-1/2 -translate-y-1/2 text-[11px] text-[#6f8097] hover:text-[#d2e3f5] hidden">✕</button>
</div>
<button id="subscribe-btn" class="hidden sm:inline-flex items-center gap-2 h-[44px] px-4 rounded-full glass text-[13px] font-[600] text-[#bfefff] hover:border-citarum/40 transition">
<span class="w-1.5 h-1.5 rounded-full bg-padi shadow-[0_0_8px_rgba(0,230,118,0.7)]"></span>
Notifikasi
</button>
<button id="mobile-menu-btn" class="lg:hidden w-11 h-11 rounded-xl glass flex items-center justify-center text-[#b8c9dc]" aria-label="Menu">
<svg width="22" height="22" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24"><line x1="4" y1="7" x2="20" y2="7"/><line x1="4" y1="12" x2="20" y2="12"/><line x1="4" y1="17" x2="20" y2="17"/></svg>
</button>
</div>
</div>
<!-- Mobile search -->
<div id="mobile-search-wrap" class="hidden mt-4 lg:hidden">
<div class="relative">
<input id="site-search-mobile" type="search" placeholder="Cari berita Karawang, KIIC, Citarum..." class="w-full bg-[#0f1a2d]/90 border border-white/[0.11] rounded-full h-[46px] pl-11 pr-4 text-[14px] text-[#dbe7f3] outline-none focus:border-citarum/60 placeholder:text-[#6f8097]" />
<svg class="absolute left-4 top-1/2 -translate-y-1/2 text-[#6f8097]" width="17" height="17" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24"><circle cx="11" cy="11" r="8"/><path d="m21 21-4.35-4.35"/></svg>
</div>
</div>
</div>
</header>
<!-- Sticky Nav Glass -->
<nav id="main-nav" class="sticky top-0 z-40 border-b border-white/[0.07] bg-[rgba(7,15,30,0.78)] backdrop-blur-xl">
<div class="wrap">
<div class="flex items-center h-[58px] gap-4">
<div id="category-nav" class="flex items-center gap-2 md:gap-2.5 overflow-x-auto no-scrollbar flex-1 pr-2 text-[13.5px] font-[600] text-[#a6b8cc]">
<button class="nav-pill px-3.5 py-[8px] rounded-full whitespace-nowrap transition-all nav-pill-active" data-cat="Semua">Nasional</button>
<button class="nav-pill px-3.5 py-[8px] rounded-full whitespace-nowrap hover:text-[#cfe9ff] transition-all" data-cat="Karawang Raya">Karawang Raya</button>
<button class="nav-pill px-3.5 py-[8px] rounded-full whitespace-nowrap hover:text-[#cfe9ff] transition-all" data-cat="Industri">Industri</button>
<button class="nav-pill px-3.5 py-[8px] rounded-full whitespace-nowrap hover:text-[#cfe9ff] transition-all" data-cat="Pertanian">Pertanian</button>
<button class="nav-pill px-3.5 py-[8px] rounded-full whitespace-nowrap hover:text-[#cfe9ff] transition-all" data-cat="Hukum">Hukum</button>
<button class="nav-pill px-3.5 py-[8px] rounded-full whitespace-nowrap hover:text-[#cfe9ff] transition-all" data-cat="Politik">Politik</button>
<button class="nav-pill px-3.5 py-[8px] rounded-full whitespace-nowrap hover:text-[#cfe9ff] transition-all" data-cat="Teknologi">Teknologi</button>
<button class="nav-pill px-3.5 py-[8px] rounded-full whitespace-nowrap hover:text-[#cfe9ff] transition-all" data-cat="Budaya">Budaya</button>
</div>
<div class="hidden xl:flex items-center gap-4 text-[11.5px] text-[#8b9eb6] pl-4 border-l border-white/[0.09] shrink-0">
<span>Edisi Karawang</span>
<span class="text-[#5a6b81]">•</span>
<a href="#" class="hover:text-[#cfe9ff]">E-Paper</a>
<a href="#" class="hover:text-[#cfe9ff]">Video</a>
</div>
</div>
<!-- Mobile quick links -->
<div id="mobile-menu" class="hidden border-t border-white/[0.07] bg-[#0b1628]/95">
<div class="wrap py-4 grid grid-cols-2 gap-x-6 gap-y-3 text-[13px] text-[#a8bbd0]">
<a href="#" class="hover:text-citarum">Indeks Karawang</a>
<a href="#" class="hover:text-citarum">Radar Citarum</a>
<a href="#" class="hover:text-citarum">Lowongan KIIC</a>
<a href="#" class="hover:text-citarum">Harga Gabah</a>
<a href="#" class="hover:text-citarum">Tentang Kami</a>
<a href="#" class="hover:text-citarum">Pasang Iklan</a>
</div>
</div>
</nav>
<!-- Local Ticker -->
<div class="border-b border-white/[0.065] bg-[#0a1528]/70">
<div class="wrap py-[10px] flex items-center gap-4 text-[12.3px]">
<div class="flex items-center gap-2 text-padi font-[700] shrink-0">
<span class="w-1.5 h-1.5 rounded-full bg-padi shadow-[0_0_8px_rgba(0,230,118,0.7)] animate-pulse"></span>
LIVE
</div>
<div class="ticker-wrap overflow-hidden flex-1 relative">
<div class="ticker-track flex gap-12 whitespace-nowrap text-[#a9bbcf]">
<span>Suhu Karawang 31°C • Citarum Normal • Tanggul Klari Aman</span>
<span>•</span>
<span>Harga Gabah Kering Rp 6.850/kg — KUD Telukjambe</span>
<span>•</span>
<span>Tol Jakarta–Cikampek Layang Lancar • KCIC Whoosh Karawang 12x/hari</span>
<span>•</span>
<span>Lowongan: PT EV Battery Karawang buka 420 operator — Daftar di Disnaker</span>
<span>•</span>
<span aria-hidden="true">Suhu Karawang 31°C • Citarum Normal • Tanggul Klari Aman</span>
<span aria-hidden="true">•</span>
<span aria-hidden="true">Harga Gabah Kering Rp 6.850/kg — KUD Telukjambe</span>
<span aria-hidden="true">•</span>
<span aria-hidden="true">Tol Jakarta–Cikampek Layang Lancar • KCIC Whoosh Karawang 12x/hari</span>
<span aria-hidden="true">•</span>
<span aria-hidden="true">Lowongan: PT EV Battery Karawang buka 420 operator — Daftar di Disnaker</span>
</div>
</div>
</div>
</div>
<main class="wrap pt-8 md:pt-12 pb-20">
<!-- HERO -->
<section class="grid grid-cols-1 xl:grid-cols-12 gap-7 xl:gap-7 mb-12 md:mb-16">
<!-- Lead -->
<div class="xl:col-span-8">
<article class="glass rounded-[22px] overflow-hidden news-card neon-cyan-ring group cursor-pointer relative" data-article-id="hero-krw-1" data-cat="Industri">
<div class="relative">
<img src="https://picsum.photos/seed/karawang-ev-gigafactory/1100/620" alt="Giga Battery Karawang" class="w-full aspect-[16/9] object-cover opacity-[0.92]" width="1100" height="620" />
<div class="absolute inset-0" style="background: linear-gradient(to top, rgba(8,17,33,0.92) 11%, rgba(8,17,33,0.24) 55%, rgba(8,17,33,0.05) 100%);"></div>
<div class="absolute top-4 left-4 flex items-center gap-2">
<span class="px-2.5 py-1 rounded-full text-[11px] font-[700] tracking-wide bg-[rgba(0,184,255,0.14)] text-[#9ee8ff] border border-citarum/30">EKSKLUSIF KARAWANG</span>
<span class="px-2.5 py-1 rounded-full text-[11px] font-[700] bg-[rgba(0,230,118,0.10)] text-[#82f0b8] border border-padi/25">INDUSTRI</span>
</div>
</div>
<div class="px-5 md:px-8 py-6 md:py-7">
<h2 class="display text-[26px] sm:text-[32px] md:text-[38px] leading-[1.18] font-[700] text-[#eaf3ff] group-hover:text-[#bceeff] transition-colors">
KIIC Karawang Resmikan Pabrik Baterai EV Terbesar ASEAN, Serap 4.200 Pekerja Lokal
</h2>
<p class="text-[15.2px] leading-relaxed text-[#a9bacd] mt-3 max-w-[780px]">
Fase 1 gigafactory 15 GWh mulai produksi September. Upah UMSK Karawang jadi rujukan, 62% tenaga kerja direkrut dari SMK vokasi Karawang Barat, Telukjambe, dan Klari.
</p>
<div class="flex flex-wrap items-center gap-3 text-[12.5px] text-[#7e90a6] mt-4">
<span>Deteksi Armedia Karawang</span>
<span>•</span>
<span>Kamis, 25 Juni 2026 • 07.05 WIB</span>
<span>•</span>
<span class="text-[#7ccfff]">KIIC / Karawang Barat</span>
</div>
</div>
<!-- subtle padi glow corner -->
<div class="pointer-events-none absolute -bottom-16 -right-16 w-56 h-56 rounded-full blur-[90px] opacity-[0.12]" style="background: radial-gradient(circle, #00e676, transparent 70%)"></div>
</article>
<!-- Secondary row -->
<div class="grid grid-cols-1 sm:grid-cols-2 gap-4 md:gap-5 mt-4 md:mt-5">
<article class="glass rounded-[18px] p-[14px] news-card cursor-pointer flex gap-4 items-start" data-article-id="hero-krw-2" data-cat="Pertanian">
<img src="https://picsum.photos/seed/karawang-padi-2030/200/140" class="w-[104px] h-[78px] object-cover rounded-[10px] opacity-90 shrink-0" alt="" width="200" height="140" />
<div>
<div class="h-eyebrow text-padi-dim">Lumbung Padi</div>
<h3 class="display font-[600] text-[16.5px] leading-snug text-[#dde9f7] mt-1">Panen Raya Karawang Tembus 7,1 ton/ha, Varietas Ciherang Armedia</h3>
<div class="text-[11.5px] text-[#7e90a6] mt-1.5">1 jam lalu • Rengasdengklok</div>
</div>
</article>
<article class="glass rounded-[18px] p-[14px] news-card cursor-pointer flex gap-4 items-start" data-article-id="hero-krw-3" data-cat="Karawang Raya">
<img src="https://picsum.photos/seed/karawang-whoosh/200/140" class="w-[104px] h-[78px] object-cover rounded-[10px] opacity-90 shrink-0" alt="" width="200" height="140" />
<div>
<div class="h-eyebrow text-citarum">Karawang Raya</div>
<h3 class="display font-[600] text-[16.5px] leading-snug text-[#dde9f7] mt-1">Stasiun KCIC Karawang tambah 4 jadwal Whoosh, 18 menit ke Halim</h3>
<div class="text-[11.5px] text-[#7e90a6] mt-1.5">2 jam lalu</div>
</div>
</article>
</div>
</div>
<!-- Trending Karawang -->
<aside class="xl:col-span-4">
<div class="glass-strong rounded-[22px] p-5 md:p-6 neon-green-ring">
<div class="flex items-center justify-between mb-3">
<h3 class="display text-[20px] font-[700] text-[#e7f2ff]">Trending Karawang</h3>
<span class="text-[11px] text-[#7e90a6]">Realtime</span>
</div>
<ol id="trending-list" class="space-y-0 divide-y divide-white/[0.07]">
<!-- JS inject -->
</ol>
<div class="pt-3 mt-1 text-[12.5px]">
<a href="#" class="text-citarum hover:text-[#8ee1ff] font-[600]">Lihat Radar Karawang →</a>
</div>
</div>
<div class="glass rounded-[18px] px-4 py-4 mt-4 text-[12.8px] text-[#9aadc3]">
<div class="text-[#d5e6f7] font-[600] mb-1">Deteksi Pagi Karawang</div>
Ringkasan 5 berita Karawang jam 06.00. <a href="#newsletter" class="text-padi-dim font-[600] hover:text-padi">Daftar gratis</a>
</div>
</aside>
</section>
<!-- FEED + SIDEBAR -->
<section class="grid grid-cols-1 xl:grid-cols-12 gap-10 xl:gap-9 border-t border-white/[0.08] pt-10 md:pt-14" id="feed">
<!-- Feed -->
<div class="xl:col-span-8">
<div class="flex items-end justify-between mb-4 flex-wrap gap-3">
<h2 class="display text-[24px] md:text-[27px] font-[700] text-[#e7f0fb]">Berita Terkini Karawang</h2>
<div class="flex items-center gap-4 text-[12.5px] text-[#8ea0b7]">
<button class="filter-chip text-[#9fe8ff] font-[600]" data-filter="Semua">Pilihan Redaksi</button>
<button class="filter-chip hover:text-[#cfe9ff]" data-filter="Terbaru">Terbaru</button>
</div>
</div>
<div id="berita-grid" class="grid grid-cols-1 md:grid-cols-2 gap-4 md:gap-5">
<!-- JS cards -->
</div>
<div id="no-results" class="hidden glass rounded-[16px] py-10 text-center text-[#8ea0b7] mt-6">
Tidak ada berita yang cocok dengan "<span id="no-results-query" class="text-[#dbe8f5] font-[600]"></span>".
<div class="mt-2"><button id="reset-search" class="text-citarum font-[600] hover:underline text-[13px]">Reset pencarian</button></div>
</div>
<div class="flex justify-center mt-7">
<button id="load-more" class="px-5 py-2.5 rounded-full glass text-[13px] font-[600] text-[#bcd7ef] hover:border-citarum/40 transition">Muat berita lainnya</button>
</div>
</div>
<!-- Sidebar -->
<aside class="xl:col-span-4 space-y-6">
<!-- Radar Citarum -->
<div class="glass rounded-[20px] p-5">
<h3 class="display text-[18px] font-[700] text-[#e4eef9] mb-3">Radar Citarum</h3>
<div class="space-y-3 text-[13.4px]">
<div class="flex justify-between"><span class="text-[#9aadc3]">TMA Bendung Walahar</span><span class="font-[600] text-[#8af2bd]">Normal</span></div>
<div class="flex justify-between"><span class="text-[#9aadc3]">Kualitas Air</span><span class="font-[600] text-[#8af2bd]">Baik</span></div>
<div class="flex justify-between"><span class="text-[#9aadc3]">Debit</span><span class="font-[600] text-[#c9d8e8]">184 m³/s</span></div>
<div class="w-full h-[6px] rounded-full bg-white/[0.08] overflow-hidden mt-1"><div class="h-full w-[42%] bg-gradient-to-r from-citarum to-padi rounded-full"></div></div>
<div class="text-[11.5px] text-[#7c8ea5]">Update 06:40 WIB — BBWS Citarum</div>
</div>
</div>
<!-- Newsletter -->
<div id="newsletter" class="glass-strong rounded-[20px] p-5 neon-cyan-ring">
<div class="h-eyebrow text-citarum">Deteksi Pagi</div>
<div class="display text-[19px] font-[700] text-[#e5f0fb] mt-1">Karawang, jam 06.00</div>
<p class="text-[13.2px] text-[#9aadc3] mt-2 leading-relaxed">5 berita paling penting Karawang Raya. Tanpa spam.</p>
<form id="newsletter-form" class="mt-3 space-y-2.5">
<input type="email" required placeholder="Email Anda" class="w-full rounded-[12px] px-3.5 py-2.5 text-[13.5px] bg-[#0e1a2d] border border-white/[0.12] text-[#d9e6f3] outline-none focus:border-citarum/60 placeholder:text-[#6c7e94]" />
<button class="w-full rounded-[12px] bg-gradient-to-r from-[#00b8ff] to-[#00d2a8] text-[#03141f] font-[700] py-2.5 text-[13.5px] hover:brightness-[1.05] transition">Berlangganan Gratis</button>
</form>
<p class="text-[11px] text-[#7689a2] mt-2">12.840 pembaca Karawang.</p>
</div>
<!-- Poll -->
<div class="glass rounded-[20px] p-5">
<h3 class="display text-[17.5px] font-[700] text-[#dde8f4]">Jajak Karawang</h3>
<p class="text-[13.3px] text-[#9aadc3] mt-1.5">Pabrik baterai EV di KIIC: apa harapan terbesar Anda?</p>
<div class="mt-3 space-y-2 text-[13px] text-[#a9bbce]" id="poll-options">
<label class="flex items-center gap-2 cursor-pointer"><input type="radio" name="poll" value="lokal" class="accent-[#00e676]"> Lapangan kerja warga Karawang</label>
<label class="flex items-center gap-2 cursor-pointer"><input type="radio" name="poll" value="umkm"> Rantai pasok UMKM lokal</label>
<label class="flex items-center gap-2 cursor-pointer"><input type="radio" name="poll" value="lingkungan"> Jaga Citarum & lingkungan</label>
</div>
<button id="vote-btn" class="mt-3 text-[12.5px] font-[700] text-citarum hover:text-[#8ee1ff]">Kirim suara</button>
<div id="poll-result" class="hidden mt-3 text-[12.5px] text-[#a6bbcf] bg-white/[0.035] rounded-[10px] px-3 py-2 border border-white/[0.07]">Terima kasih! 58% memilih “Lapangan kerja warga Karawang”.</div>
</div>
<!-- Ad -->
<div class="glass rounded-[18px] p-5 text-center text-[12px] text-[#7c8ea5] border-dashed">
Ruang Iklan<br/>300×250<br/>
<span class="text-[11px]">iklan@deteksiarm...media.id</span>
</div>
</aside>
</section>
<!-- KANAL KARAWANG -->
<section class="mt-14 md:mt-20 border-t border-white/[0.08] pt-10 md:pt-14">
<div class="grid grid-cols-1 md:grid-cols-3 gap-8 md:gap-7">
<!-- Karawang Raya -->
<div>
<div class="flex items-center justify-between mb-4">
<h3 class="display text-[20px] font-[700] text-[#e5eef9]">Karawang Raya</h3>
<a href="#" class="text-[12px] text-citarum font-[600] hover:text-[#8ee1ff]">Lainnya →</a>
</div>
<div class="glass rounded-[16px] overflow-hidden news-card">
<img src="https://picsum.photos/seed/karawang-raya-blok/640/360" alt="" class="w-full aspect-[16/9] object-cover opacity-90" width="640" height="360" loading="lazy">
</div>
<div id="cat-karawang" class="mt-3 space-y-2.5 text-[14px] text-[#b9cada]"></div>
</div>
<!-- Lumbung Padi -->
<div>
<div class="flex items-center justify-between mb-4">
<h3 class="display text-[20px] font-[700] text-[#e5eef9]">Lumbung Padi</h3>
<a href="#" class="text-[12px] text-citarum font-[600] hover:text-[#8ee1ff]">Lainnya →</a>
</div>
<div class="glass rounded-[16px] overflow-hidden news-card">
<img src="https://picsum.photos/seed/karawang-sawah-blok/640/360" alt="" class="w-full aspect-[16/9] object-cover opacity-90" width="640" height="360" loading="lazy">
</div>
<div id="cat-pertanian" class="mt-3 space-y-2.5 text-[14px] text-[#b9cada]"></div>
</div>
<!-- Kawasan Industri -->
<div>
<div class="flex items-center justify-between mb-4">
<h3 class="display text-[20px] font-[700] text-[#e5eef9]">Kawasan Industri</h3>
<a href="#" class="text-[12px] text-citarum font-[600] hover:text-[#8ee1ff]">Lainnya →</a>
</div>
<div class="glass rounded-[16px] overflow-hidden news-card">
<img src="https://picsum.photos/seed/karawang-kiic-blok/640/360" alt="" class="w-full aspect-[16/9] object-cover opacity-90" width="640" height="360" loading="lazy">
</div>
<div id="cat-industri" class="mt-3 space-y-2.5 text-[14px] text-[#b9cada]"></div>
</div>
</div>
</section>
<!-- App promo -->
<section class="mt-14 md:mt-20">
<div class="glass-strong rounded-[22px] px-6 md:px-10 py-8 md:py-9 flex flex-col md:flex-row items-start md:items-center justify-between gap-5 neon-cyan-ring">
<div>
<div class="h-eyebrow text-padi-dim">APLIKASI DETEKSI KARAWANG</div>
<div class="display text-[22px] md:text-[26px] font-[700] mt-1 text-[#eaf3ff]">Berita Karawang, lebih cepat. 2030-ready.</div>
<p class="text-[13.5px] text-[#9aadc3] mt-1">Mode gelap nyaman, notifikasi breaking Karawang, simpan offline.</p>
</div>
<div class="flex gap-2.5 shrink-0">
<a href="#" class="px-4 py-2.5 rounded-full bg-[#eaf3ff] text-[#0b1626] text-[12.5px] font-[700]">App Store</a>
<a href="#" class="px-4 py-2.5 rounded-full glass text-[#cfe6ff] text-[12.5px] font-[600] border-white/[0.18]">Google Play</a>
</div>
</div>
</section>
</main>
<!-- FOOTER -->
<footer class="relative border-t border-white/[0.08] bg-[#070f1e]">
<div class="batik-krw absolute inset-0 opacity-[0.035] pointer-events-none"></div>
<div class="wrap relative py-12 md:py-16">
<div class="grid grid-cols-1 md:grid-cols-12 gap-10">
<div class="md:col-span-5">
<div class="display font-[700] text-[25px] text-[#eaf3ff] tracking-[-0.01em]">DETEKSI AR MEDIA <span class="text-[#7dbbff]">| KARAWANG</span></div>
<div class="text-[11px] tracking-[0.18em] text-[#7e91a8] mt-1 font-[600]">FUTURE LOKAL — JERNIH MELIHAT FAKTA</div>
<p class="text-[13.5px] text-[#9aadc3] leading-relaxed mt-4 max-w-[460px]">
Portal berita Karawang independen, futuristik, berpihak pada warga. Verifikasi, keberimbangan, kepentingan publik. Berbasis di Karawang Barat, meliput Karawang Raya, Cikampek, Rengasdengklok, Telukjambe, Klari.
</p>
<div class="flex items-center gap-5 mt-5 text-[#8fa3b8] text-[13px]">
<a href="#" class="hover:text-citarum">X</a>
<a href="#" class="hover:text-citarum">Instagram</a>
<a href="#" class="hover:text-citarum">YouTube</a>
<a href="#" class="hover:text-citarum">TikTok</a>
</div>
</div>
<div class="md:col-span-2">
<div class="font-[700] text-[11.5px] text-[#d7e6f5] mb-3 tracking-wider uppercase">Kanal</div>
<ul class="space-y-2 text-[13.5px] text-[#9aadc3]">
<li><a class="hover:text-[#d5e8ff]" href="#">Karawang Raya</a></li>
<li><a class="hover:text-[#d5e8ff]" href="#">Industri</a></li>
<li><a class="hover:text-[#d5e8ff]" href="#">Pertanian</a></li>
<li><a class="hover:text-[#d5e8ff]" href="#">Hukum</a></li>
<li><a class="hover:text-[#d5e8ff]" href="#">Politik</a></li>
<li><a class="hover:text-[#d5e8ff]" href="#">Teknologi</a></li>
<li><a class="hover:text-[#d5e8ff]" href="#">Budaya</a></li>
</ul>
</div>
<div class="md:col-span-2" id="redaksi">
<div class="font-[700] text-[11.5px] text-[#d7e6f5] mb-3 tracking-wider uppercase">Perusahaan</div>
<ul class="space-y-2 text-[13.5px] text-[#9aadc3]" id="tentang">
<li><a class="hover:text-[#d5e8ff]" href="#">Tentang Kami</a></li>
<li><a class="hover:text-[#d5e8ff]" href="#">Redaksi</a></li>
<li><a class="hover:text-[#d5e8ff]" href="#">Pedoman Media Siber</a></li>
<li><a class="hover:text-[#d5e8ff]" href="#">Karier Karawang</a></li>
<li><a class="hover:text-[#d5e8ff]" href="#">Iklan Lokal</a></li>
</ul>
</div>
<div class="md:col-span-3" id="kontak">
<div class="font-[700] text-[11.5px] text-[#d7e6f5] mb-3 tracking-wider uppercase">Redaksi Karawang</div>
<div class="text-[13.5px] text-[#9aadc3] leading-relaxed">
PT Deteksi Armedia Karawang<br/>
Galuh Mas Tech Hub Lt.3<br/>
Jl. Galuh Mas Raya, Telukjambe Barat<br/>
Karawang 41361<br/><br/>
redaksi@deteksiarm...media.id<br/>
WhatsApp: +62 812-9000-1147
</div>
</div>
</div>
<div class="flex flex-col md:flex-row items-start md:items-center justify-between gap-4 border-t border-white/[0.08] mt-10 pt-6 text-[12px] text-[#7c8ea5]">
<div>© 2026 Deteksi AR Media Karawang. Pangkal Perjuangan.</div>
<div class="flex flex-wrap gap-x-5 gap-y-2">
<a href="#" class="hover:text-[#cfe9ff]">Privasi</a>
<a href="#" class="hover:text-[#cfe9ff]">Syarat</a>
<a href="#" class="hover:text-[#cfe9ff]">Koreksi</a>
<a href="#" class="hover:text-[#cfe9ff]">RSS</a>
</div>
</div>
</div>
</footer>
<!-- Article Reader Modal -->
<div id="article-modal" class="fixed inset-0 z-[70] hidden">
<div id="modal-backdrop" class="absolute inset-0 bg-[#030a16]/80 backdrop-blur-[3px]"></div>
<div class="absolute inset-x-0 bottom-0 md:inset-0 md:flex md:items-center md:justify-center p-0 md:p-6 pointer-events-none">
<div id="modal-card" class="pointer-events-auto glass-strong w-full md:max-w-[800px] rounded-t-[18px] md:rounded-[18px] shadow-lift max-h-[92vh] md:max-h-[85vh] flex flex-col overflow-hidden">
<div class="px-5 md:px-8 pt-5 pb-4 border-b border-white/[0.09] flex items-start justify-between gap-4">
<div>
<div id="modal-kicker" class="h-eyebrow text-citarum">Karawang Raya</div>
<h3 id="modal-title" class="display text-[22px] md:text-[27px] leading-snug text-[#eaf3ff] mt-1 font-[700]">Judul</h3>
<div id="modal-meta" class="text-[12px] text-[#8a9db4] mt-2">Kamis, 25 Juni 2026 • 4 menit baca • Karawang</div>
</div>
<button id="modal-close" class="shrink-0 w-9 h-9 rounded-full glass flex items-center justify-center hover:border-citarum/40 text-[#b7c9da]" aria-label="Tutup">
<svg width="18" height="18" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24"><line x1="18" y1="6" x2="6" y2="18"/><line x1="6" y1="6" x2="18" y2="18"/></svg>
</button>
</div>
<div class="modal-body overflow-y-auto px-5 md:px-8 py-5 md:py-7 text-[15.6px] leading-relaxed text-[#c3d2e2]">
<img id="modal-image" src="https://picsum.photos/seed/modal-karawang/900/460" class="w-full rounded-[12px] mb-5 object-cover opacity-95" alt="" width="900" height="460">
<div id="modal-body" class="space-y-4 max-w-[700px]">
<p>Ini pratinjau artikel Deteksi Armedia Karawang — Future Lokal. Kami mengutamakan verifikasi cepat, data terbuka, dan konteks Karawang Raya.</p>
<p>Setiap berita dicek dua lapis, dengan sumber jelas dari Pemkab Karawang, KIIC, Kadin, kelompok tani, hingga warga. Koreksi? kirim ke redaksi@deteksiarm...media.id — kami balas dalam 24 jam.</p>
<p>Terima kasih telah membaca Deteksi Armedia Karawang — Jernih Melihat Fakta.</p>
</div>
<div class="flex flex-wrap gap-2.5 mt-7 pt-5 border-t border-white/[0.09]">
<button class="share-btn px-3.5 py-2 rounded-full glass text-[12.5px] font-[600] text-[#bcd7ef] hover:border-citarum/40">Salin tautan</button>
<button class="save-btn px-3.5 py-2 rounded-full glass text-[12.5px] font-[600] text-[#bcd7ef] hover:border-citarum/40">Simpan artikel</button>
</div>
</div>
</div>
</div>
</div>
<!-- Toast -->
<div id="toast" class="fixed bottom-5 left-1/2 -translate-x-1/2 bg-[#0f1d33] border border-white/[0.12] text-[#d9e8f5] text-[12.5px] px-4 py-2.5 rounded-full shadow-lift opacity-0 translate-y-3 transition-all duration-300 z-[90] pointer-events-none">Tersimpan</div>
<script>
/* ---- Karawang News Data ---- */
const articles = [
{ id:'k1', cat:'Karawang Raya', time:'28 menit lalu', title:'Tol MBZ Karawang Timur Bebas Hambatan, Waktu Tempuh Jakarta–Karawang 42 Menit', excerpt:'Jasa Marga buka 2 lajur baru Gerbang Tol Karawang Barat, tapcash otomatis penuh di jam berangkat.', img:'https://picsum.photos/seed/karawang-tol-mbz/520/320' },
{ id:'k2', cat:'Industri', time:'55 menit lalu', title:'UMSK Karawang 2026 Disepakati Rp 5,92 Juta, Berlaku 1 Juli', excerpt:'Tripartit menyepakati kenaikan 4,8%, berlaku untuk 1.842 perusahaan di 7 kawasan industri.', img:'https://picsum.photos/seed/karawang-umsk/520/320' },
{ id:'k3', cat:'Pertanian', time:'1 jam lalu', title:'KUD Telukjambe Panen Ciherang Armedia, Rendemen 67%, Harga Gabah Naik', excerpt:'Luas panen 1.240 ha, Bulog Karawang serap 3.200 ton untuk cadangan pangan.', img:'https://picsum.photos/seed/karawang-kud/520/320' },
{ id:'k4', cat:'Hukum', time:'2 jam lalu', title:'Polres Karawang Ungkap Pencemaran Citarum di Rengasdengklok, 2 PT Disegel', excerpt:'DLH ambil sampel, IPAL tidak sesuai baku mutu. Sidang TIPIDLH pekan depan.', img:'https://picsum.photos/seed/karawang-citarum-hukum/520/320' },
{ id:'k5', cat:'Teknologi', time:'3 jam lalu', title:'SMKN 1 Karawang Luncurkan EV Training Center Bareng KIIC', excerpt:'200 siswa/minggu praktik baterai & BMS. Lulusan langsung magang di pabrik EV.', img:'https://picsum.photos/seed/karawang-smk-ev/520/320' },
{ id:'k6', cat:'Budaya', time:'4 jam lalu', title:'Festival Goyang Karawang 2026 Pecahkan Rekor, 4.000 Penari di Alun-Alun', excerpt:'Dibuka Bupati, live di Deteksi Armedia. UMKM batik Karawang tembus Rp 1,1 M.', img:'https://picsum.photos/seed/karawang-goyang/520/320' },
{ id:'k7', cat:'Politik', time:'5 jam lalu', title:'DPRD Karawang Sahkan Perda Kawasan Pertanian Pangan Berkelanjutan 12.400 Ha', excerpt:'Lindung lahan sawah abadi di 9 kecamatan lumbung.', img:'https://picsum.photos/seed/karawang-perda/520/320' },
{ id:'k8', cat:'Karawang Raya', time:'Kemarin', title:'RSUD Karawang Buka Cathlab Kedua, Waktu Tanggap Serangan Jantung 38 Menit', excerpt:'Layanan BPJS, rujukan Cikampek–Purwakarta.', img:'https://picsum.photos/seed/karawang-rsud/520/320' },
];
const trendingKarawang = [
'Pabrik Baterai EV KIIC Resmi Produksi',
'UMSK Karawang Rp 5,92 Juta — Resmi',
'Panen Raya Ciherang Armedia 7,1 ton/ha',
'Whoosh Karawang Tambah 4 Jadwal',
'Polres Segel Pencemar Citarum Rengasdengklok',
'Festival Goyang Karawang 4.000 Penari'
];
const catBlocks = {
'Karawang Raya': [
{title:'Flyover Lamaran ditarget rampung Agustus, urai macet Cikampek', time:'2 jam lalu'},
{title:'Damkar Karawang: 14 titik rawan kebakaran lahan dimonitor drone', time:'6 jam lalu'},
{title:'Mal Pelayanan Publik Galuh Mas tambah 9 layanan OSS', time:'Kemarin'}
],
'Pertanian': [
{title:'Harga gabah kering Karawang Rp 6.850/kg, tertinggi se-Jabar', time:'1 jam lalu'},
{title:'Pompanisasi Citarum Timur hidupkan 800 ha sawah Klari', time:'4 jam lalu'},
{title:'Petani milenial Karawang pakai drone semprot, hemat 40%', time:'Kemarin'}
],
'Industri': [
{title:'Lowongan 420 operator EV Battery KIIC, daftar via Disnaker', time:'40 menit lalu'},
{title:'Suryacipta buka klaster semikonduktor, 3 investor antri', time:'3 jam lalu'},
{title:'Kadin Karawang: ekspor otomotif naik 14% yoy', time:'Kemarin'}
]
};
/* Render cards - glass */
function articleCard(a){
return `
<article class="glass rounded-[18px] overflow-hidden news-card cursor-pointer article-row group" data-article-id="${a.id}" data-cat="${a.cat}" data-title="${a.title.toLowerCase()}">
<div class="relative">
<img src="${a.img}" alt="" class="w-full aspect-[16/10] object-cover opacity-[0.93]" loading="lazy" width="520" height="320">
<div class="absolute inset-0 bg-gradient-to-t from-[#0a1426]/88 via-[#0a1426]/18 to-transparent pointer-events-none"></div>
<span class="absolute top-3 left-3 text-[10.5px] font-[700] tracking-wider px-2.5 py-1 rounded-full bg-[rgba(0,184,255,0.12)] text-[#8ee1ff] border border-citarum/25">${a.cat.toUpperCase()}</span>
</div>
<div class="p-4 md:p-5">
<h3 class="display text-[18px] md:text-[19px] leading-snug font-[600] text-[#dde8f5] group-hover:text-[#bfeeff] transition-colors">${a.title}</h3>
<p class="text-[13.4px] text-[#8e9fb6] mt-2 line-clamp-2">${a.excerpt}</p>
<div class="text-[11.5px] text-[#718298] mt-3">${a.time}</div>
</div>
</article>`;
}
const grid = document.getElementById('berita-grid');
let visibleCount = 6;
let currentCat = 'Semua';
function renderGrid(filterText = '', catFilter = 'Semua'){
const q = filterText.trim().toLowerCase();
let list = articles.filter(a => {
const matchText = !q || (a.title.toLowerCase().includes(q) || a.excerpt.toLowerCase().includes(q) || a.cat.toLowerCase().includes(q));
const matchCat = catFilter === 'Semua' || a.cat === catFilter;
return matchText && matchCat;
});
const showing = list.slice(0, visibleCount);
grid.innerHTML = showing.map(a => articleCard(a)).join('');
const noResults = document.getElementById('no-results');
noResults.classList.toggle('hidden', list.length !== 0);
const nq = document.getElementById('no-results-query');
if(nq) nq.textContent = filterText;
document.getElementById('load-more').style.display = list.length > visibleCount ? '' : 'none';
bindArticleClicks();
}
renderGrid();
/* Trending list */
document.getElementById('trending-list').innerHTML = trendingKarawang.map((t,i)=>`
<li class="flex gap-3 py-[12px]">
<span class="w-[30px] h-[30px] rounded-full flex items-center justify-center text-[12px] font-[700] shrink-0 mt-0.5
${i===0 ? 'bg-[rgba(255,204,51,0.13)] text-[#ffda6a] border border-[#ffcc33]/30' : 'bg-white/[0.05] text-[#8edfff] border border-white/[0.09]'} ">
${i+1}
</span>
<a href="#" class="popular-link text-[14.2px] leading-snug text-[#c9d8e8] hover:text-[#bfefff]" data-pop-title="${t}">${t}</a>
</li>
`).join('');
/* Cat blocks */
function renderCatBlock(elId, items){
const el = document.getElementById(elId);
if(!el) return;
el.innerHTML = items.map(it=>`
<a href="#" class="block py-[9px] border-b border-white/[0.065] last:border-0 hover:text-[#bfeeff] cat-link transition-colors" data-cat-title="${it.title}">
${it.title}
<span class="block text-[11.5px] text-[#70839a] mt-1">${it.time}</span>
</a>
`).join('');
}
renderCatBlock('cat-karawang', catBlocks['Karawang Raya']);
renderCatBlock('cat-pertanian', catBlocks['Pertanian']);
renderCatBlock('cat-industri', catBlocks['Industri']);
/* Search */
const searchInput = document.getElementById('site-search');
const searchInputMobile = document.getElementById('site-search-mobile');
const clearBtn = document.getElementById('clear-search');
function doSearch(val){
visibleCount = 6;
renderGrid(val, currentCat);
}
let searchTimer;
function bindSearchInput(inputEl){
if(!inputEl) return;
inputEl.addEventListener('input', ()=>{
const v = inputEl.value;
if(clearBtn) clearBtn.classList.toggle('hidden', !v && inputEl === searchInput);
clearTimeout(searchTimer);
searchTimer = setTimeout(()=> doSearch(v), 160);
if(inputEl === searchInput && searchInputMobile) searchInputMobile.value = v;
if(inputEl === searchInputMobile && searchInput) searchInput.value = v;
});
}
bindSearchInput(searchInput);
bindSearchInput(searchInputMobile);
clearBtn?.addEventListener('click', ()=>{
if(searchInput) searchInput.value='';
if(searchInputMobile) searchInputMobile.value='';
clearBtn.classList.add('hidden');
renderGrid('', currentCat);
});
document.getElementById('reset-search')?.addEventListener('click', ()=>{
if(searchInput) searchInput.value='';
if(searchInputMobile) searchInputMobile.value='';
renderGrid('', currentCat);
});
/* Category nav */
document.querySelectorAll('#category-nav .nav-pill').forEach(btn=>{
btn.addEventListener('click', e=>{
e.preventDefault();
document.querySelectorAll('#category-nav .nav-pill').forEach(n=>{
n.classList.remove('nav-pill-active');
});
btn.classList.add('nav-pill-active');
const catMap = {
'Nasional':'Semua',
'Karawang Raya':'Karawang Raya',
'Industri':'Industri',
'Pertanian':'Pertanian',
'Hukum':'Hukum',
'Politik':'Politik',
'Teknologi':'Teknologi',
'Budaya':'Budaya'
};
currentCat = catMap[btn.dataset.cat] || btn.dataset.cat || 'Semua';
visibleCount = 6;
const q = (searchInput && searchInput.value) || (searchInputMobile && searchInputMobile.value) || '';
renderGrid(q, currentCat);
const feedEl = document.getElementById('feed');
if(feedEl) window.scrollTo({top: feedEl.getBoundingClientRect().top + window.scrollY - 80, behavior:'smooth'});
});
});
/* Load more */
document.getElementById('load-more').addEventListener('click', ()=>{
visibleCount += 4;
const q = (searchInput && searchInput.value) || '';
renderGrid(q, currentCat);
});
/* Modal reader */
const modal = document.getElementById('article-modal');
function openArticle({title, cat, img, time}){
document.getElementById('modal-kicker').textContent = (cat || 'Karawang Raya').toUpperCase();
document.getElementById('modal-title').textContent = title || 'Berita Deteksi Armedia Karawang';
document.getElementById('modal-meta').textContent = `Kamis, 25 Juni 2026 • ${time || '4 menit baca'} • Karawang`;
const mImg = document.getElementById('modal-image');
if(img){ mImg.src = img; mImg.classList.remove('hidden'); } else { mImg.classList.add('hidden'); }
modal.classList.remove('hidden');
document.body.style.overflow = 'hidden';
}
function closeModal(){
modal.classList.add('hidden');
document.body.style.overflow = '';
}
document.getElementById('modal-close').addEventListener('click', closeModal);
document.getElementById('modal-backdrop').addEventListener('click', closeModal);
document.addEventListener('keydown', e=>{ if(e.key==='Escape') closeModal(); });
function bindArticleClicks(){
document.querySelectorAll('.article-row, article.group, .popular-link, .cat-link').forEach(el=>{
if(el.dataset.bound) return;
el.dataset.bound = "1";
el.addEventListener('click', (ev)=>{
ev.preventDefault();
const card = el.closest('article');
let title = el.dataset.popTitle || el.dataset.catTitle || (card ? card.querySelector('h1, h2, h3')?.textContent.trim() : 'Deteksi Armedia Karawang');
let cat = card?.dataset?.cat || 'Karawang Raya';
let imgEl = card?.querySelector('img');
openArticle({title, cat, img: imgEl?.src , time: '4 menit baca'});
});
});
}
bindArticleClicks();
/* Mobile menu / search */
document.getElementById('mobile-menu-btn').addEventListener('click', ()=>{
document.getElementById('mobile-menu').classList.toggle('hidden');
const sWrap = document.getElementById('mobile-search-wrap');
if(!sWrap.classList.contains('hidden')){
sWrap.classList.add('hidden');
} else {
sWrap.classList.remove('hidden');
setTimeout(()=> document.getElementById('site-search-mobile')?.focus(), 30);
}
});
/* Toast */
let toastTimer;
function showToast(msg){
const t = document.getElementById('toast');
t.textContent = msg;
t.style.opacity = '1';
t.style.transform = 'translate(-50%, 0)';
clearTimeout(toastTimer);
toastTimer = setTimeout(()=>{ t.style.opacity='0'; t.style.transform='translate(-50%, 12px)'; }, 2200);
}
/* Newsletter */
document.getElementById('newsletter-form').addEventListener('submit', e=>{
e.preventDefault();
e.target.reset();
showToast('Berlangganan Deteksi Pagi Karawang berhasil!');
});
document.getElementById('subscribe-btn')?.addEventListener('click', ()=>{
showToast('Notifikasi Karawang aktif ✓');
});
/* Poll */
document.getElementById('vote-btn').addEventListener('click', ()=>{
const chosen = document.querySelector('input[name="poll"]:checked');
if(!chosen){ showToast('Pilih salah satu opsi dulu'); return; }
document.getElementById('poll-result').classList.remove('hidden');
showToast('Suara Anda tercatat. Nuhun!');
});
/* Modal share/save */
document.querySelector('.share-btn')?.addEventListener('click', async ()=>{
try { await navigator.clipboard.writeText(location.href); showToast('Tautan disalin'); }
catch { showToast('deteksiarm...media.id/karawang'); }
});
document.querySelector('.save-btn')?.addEventListener('click', ()=> showToast('Artikel disimpan ke bacaan'));
</script>
<script>(function(){document.addEventListener("click",function(e){var a=e.target.closest("[data-product-id]");if(!a)return;e.preventDefault();var pid=a.getAttribute("data-product-id");if(pid)parent.postMessage({type:"ecto-artifact-link-click",productId:pid},"*")})})();</script>
</body>
</html>






