/* ── SHIMMER SKELETON — gambar card loading ───────────── */
@keyframes shimmer {
  0%   { background-position: -600px 0; }
  100% { background-position:  600px 0; }
}

/* Semua <img> di dalam card: tampilkan shimmer selagi loading */
.wisata-card img,
.hotel-card-h img,
.kuliner-card img,
.berita-featured img,
.berita-item img,
.loker-card .lk-cover img {
  background: linear-gradient(
    90deg,
    #ececec 0%,
    #f5f5f5 40%,
    #ececec 80%
  );
  background-size: 600px 100%;
  animation: shimmer 1.4s ease-in-out infinite;
  /* Saat gambar sudah load, background otomatis tertutup oleh gambar */
}

/* Reset animasi setelah gambar selesai load */
.wisata-card img.loaded,
.hotel-card-h img.loaded,
.kuliner-card img.loaded,
.berita-featured img.loaded,
.berita-item img.loaded,
.loker-card .lk-cover img.loaded {
  animation: none;
  background: none;
}

/* ── Reset & Layout ───────────────────────────────────── */
* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

body {
  font-family: 'Segoe UI', sans-serif;
  background: #f5f5f5;
  color: #333;
  margin: 0;
  padding: 0;
}

/* Header */
header {
  background: white;
  box-shadow: 0 1px 5px rgba(0,0,0,0.1);
  padding: 10px;
  position: sticky;
  top: 0;
  z-index: 100;
}

header h2 {
  color: #0078D7;
  margin-bottom: 5px;
}

nav a {
  text-decoration: none;
  color: #0078D7;
  margin: 0 8px;
  font-weight: 500;
}

/* Feed Scroll */
.feed {
  display: flex;
  flex-direction: column;
  gap: 15px;
  padding: 10px;
}

.card {
  background: white;
  border-radius: 15px;
  overflow: hidden;
  box-shadow: 0 2px 6px rgba(0,0,0,0.1);
}

.card img {
  width: 100%;
  height: 220px;
  object-fit: cover;
}

.card-content {
  padding: 15px;
}

.card-content h3 {
  font-size: 1.1rem;
  color: #0078D7;
  margin-bottom: 5px;
}

.card-content p {
  margin: 3px 0;
  font-size: 0.9rem;
}

.card-content small {
  color: #777;
}

/* Responsive */
@media (min-width: 768px) {
  .feed {
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
  }
  .card {
    width: 300px;
  }
}

/* Feed Scroll Style for Lowongan */
.feed {
  display: flex;
  flex-direction: column;
  gap: 15px;
  padding: 10px;
  scroll-snap-type: y mandatory;
  overflow-y: scroll;
  height: calc(100vh - 100px);
}

.feed::-webkit-scrollbar {
  display: none;
}

.card {
  scroll-snap-align: start;
  flex-shrink: 0;
}