body {
  margin:0;
  font-family:-apple-system,BlinkMacSystemFont,sans-serif;
  background:#f5f6f8;
  color:#222;
}

.container {
  max-width:1200px;
  margin:0 auto;
  padding:0 20px;
}

/* ================= HEADER ================= */
.header {
  background:#fff;
  border-bottom:1px solid #eee;
}

.header .container {
  display:flex;
  justify-content:space-between;
  align-items:center;
  height:60px;
}

.logo {
  font-weight:bold;
  text-decoration:none;
  color:#000;
}

.nav a {
  margin-left:16px;
  text-decoration:none;
  color:#555;
}

.nav a:hover {
  color:#000;
}
.search-box {
  position: relative;
  margin-left: 20px;
}

#searchInput {
  padding: 6px 10px;
  width: 200px;
}

.search-results {
  position: absolute;
  top: 35px;
  left: 0;
  width: 300px;
  max-height: 400px;
  overflow-y: auto;
  background: #fff;
  border: 1px solid #ddd;
  display: none;
  z-index: 999;
}

.search-item {
  display: block;
  padding: 10px;
  border-bottom: 1px solid #eee;
  color: #000;
  text-decoration: none;
}

.search-item:hover {
  background: #f5f5f5;
}

.search-empty {
  padding: 10px;
  color: #888;
}

/* ================= MAIN ================= */
main {
  padding:30px 0;
}

.section {
  margin-bottom:60px;
}

.section h2 {
  margin-bottom:20px;
}

/* ================= GRID ================= */
.grid {
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(220px,1fr));
  gap:16px;
}

/* ================= CARD ================= */
.card {
  display:block;
  background:#fff;
  border-radius:12px;
  padding:16px;
  text-decoration:none;
  color:#000;
  border:1px solid #eee;
  transition:0.2s;
}

.card:hover {
  transform:translateY(-3px);
  box-shadow:0 6px 20px rgba(0,0,0,0.08);
}

.card img {
  width:100%;
  height:140px;
  object-fit:cover;
  border-radius:10px;
  margin-bottom:10px;
}

.icon {
  font-size:26px;
  margin-bottom:6px;
}
.card-thumb {
  width:100%;
  height:140px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#f0f2f5;
  border-radius:10px;
  margin-bottom:10px;
  font-size:40px;
}

.card-content h3 {
  margin:6px 0;
  font-size:16px;
}

.card-content p {
  margin:4px 0;
  font-size:13px;
  color:#666;
}

.card-meta {
  margin-top:6px;
  font-size:12px;
  color:#999;
}



/* ================= FOOTER ================= */
.footer {
  background:#fff;
  border-top:1px solid #eee;
  padding:20px 0;
  text-align:center;
  font-size:14px;
  color:#777;
}