h1{
  text-align:center;
  margin-bottom:30px;
  margin-top: -10px;
}

.flag-link{
  display:inline-block;
  margin-left: 10px;
}

.flag-icon{
  width:26px;
  height:15px;
  vertical-align:middle;
  transition:transform .2s ease, filter .2s ease, opacity .2s ease;
}

.flag-link:hover .flag-icon{
  transform:scale(1.15);
}

.flag-active{
  filter:none;
  opacity:1;
}

/* ================= PAGE HEADER ================= */
.container{
  width:100%;
  max-width:1200px;
  margin:auto;
}

.page-header{
  margin-top:120px;
  margin-bottom:50px;
  text-align:center;
}

.page-header h1{
  font-size:26px;
  margin-bottom: 10px;
  font-weight:700;
  position:relative;
  display:inline-block;
}

.page-header h1::after{
  content:"";
  display:block;
  width:80px;
  height:4px;
  background:#2563eb;
  margin:12px auto 0;
  border-radius:4px;
}

.intro{
  margin: 20px 0;
}

/* ================= GRID ================= */
.grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr); /* desktop default 3 kolom */
  gap:25px;
  width:100%;
  max-width:1200px;
  margin:auto;
  padding:0 30px;
}
/* ================= KATEGORI ================= */
.kategori-list{
display:flex;
gap:10px;
justify-content:center;
flex-wrap:nowrap;
overflow-x:auto;
padding:10px 0 0;
scroll-behavior:smooth;
}

.kategori-list::-webkit-scrollbar{
display:none;
}

.kategori-item{
padding:8px 16px;
background:#f1f5f9;
border-radius:20px;
font-size:14px;
text-decoration:none;
color:#0f172a;
white-space:nowrap;
transition:0.3s;
flex:0 0 auto;
}

.kategori-item:hover{
background:#2563eb;
color:white;
}

.kategori-item.active{
background:#2563eb;
color:white;
}

@media(max-width:768px){
.kategori-list{
justify-content:flex-start;
padding-left:15px;
}

.kategori-item{
 font-size:13px;
 padding:7px 14px;
 }
}

@media(max-width:1024px){
  .grid{
    grid-template-columns:repeat(2, 1fr);
    padding:0px;
  }
}

/* Mobile */
@media(max-width:600px){
  .grid{
    grid-template-columns:1fr;
    padding:0px;
  }
}
/* ================= CARD ================= */
.meta-card{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  margin-bottom:10px;
}

.meta-left{
  display:flex;
  flex-direction:column;
  gap:3px;
}

.category{
  font-weight:600;
  color:#2563eb;
  display:flex;
  align-items:center;
  gap:5px;
}

.date{
  font-size:12px;
  color:#94a3b8;
  display:flex;
  align-items:center;
  gap:5px;
}

.meta-right{
  display:flex;
  align-items:center;
  color:#64748b;
  font-size:12px;
}

.meta-card .date{
  color:#94a3b8;
}
.card{
  background:#ffffff;
  border-radius:10px;
  overflow:hidden;
  box-shadow:0 12px 30px rgba(0,0,0,0.05);
  transition:0.3s ease;
}

.card:hover{
  transform:translateY(-6px);
  box-shadow:0 18px 40px rgba(0,0,0,0.1);
}

.card img{
  width:100%;
  height:200px;
  object-fit:cover;
}

/* ================= CONTENT ================= */

.card-content{
  padding:15px;
}

.category{
  font-size:12px;
  color:#2563eb;
  font-weight:600;
  margin-bottom:8px;
}

.card h3{
  font-size:18px;
   margin:0 0 8px 0; 
  transform: translateY(-2px);
  font-weight:600;
  line-height:1.3;
}

.card h3 a{
  text-decoration:none;
  color:#0f172a;
  transition:0.3s;
}

.card h3 a:hover{
  color:#2563eb;
}

.card p{
  font-size:14px;
  color:#64748b;
  line-height:1.6;
  min-height:60px;
}

.card a{
  display:inline-block;
  margin-top:12px;
  font-size:14px;
  color:#2563eb;
  font-weight:600;
  text-decoration:none;
  transition:0.3s;
}

.card a:hover{
  color:#1e40af;
  transform:translateX(4px);
}

/* ================= PAGINATION ================= */

.pagination{
  margin:60px 0;
  text-align:center;
}

.pagination a{
  display:inline-block;
  margin:0 6px;
  padding:8px 16px;
  border-radius:10px;
  background:#e2e8f0;
  text-decoration:none;
  font-size:14px;
  color:#0f172a;
  transition:0.3s;
}

.pagination a:hover{
  background:#2563eb;
  color:white;
}

.pagination a.active{
  background:#2563eb;
  color:white;
  font-weight:600;
}
/* ================= FOOTER ================= */
.footer{
  margin-top:80px;
  padding:20px 0;
  background:#0f172a;
  color:white;
  text-align:center;
}