.hk-news-section { padding: 40px 0; background: #000; overflow: hidden; }
.hk-wrap { max-width: 1200px; margin: 0 auto; padding: 0 16px; }
.hk-news-header { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 20px; }
.hk-section-title { font-size: 24px; font-weight: 900; text-transform: uppercase; border-left: 4px solid #ce2029; padding-left: 15px; margin: 0; color: #fff; }
.hk-link-all { color: #ce2029; text-decoration: none; font-size: 14px; font-weight: 700; }

.hk-news-viewport {
  display: flex; gap: 16px; overflow-x: auto;
  scroll-snap-type: x mandatory; padding: 10px 0 30px;
  scrollbar-width: none; -webkit-overflow-scrolling: touch;
}
.hk-news-viewport::-webkit-scrollbar { display: none; }

.hk-news-card {
  flex: 0 0 85%; max-width: 320px;
  scroll-snap-align: start;
  background: rgba(255,255,255,0.05); border: 1px solid rgba(255,255,255,0.1);
  border-radius: 20px; text-decoration: none; color: inherit; overflow: hidden; display: block;
}
.hk-news-img { height: 180px; background-size: cover; background-position: center; background-color: #111; }
.hk-news-body { padding: 20px; }
.hk-news-date { font-size: 12px; color: #ce2029; font-weight: 800; margin-bottom: 8px; }
.hk-news-h3 { font-size: 17px; margin: 0; line-height: 1.3; font-weight: 800; color: #fff; }

.hk-news-dots { display: flex; justify-content: center; gap: 8px; margin-top: 10px; }
.hk-dot { width: 8px; height: 8px; border-radius: 50%; background: rgba(255,255,255,0.2); transition: 0.3s; }
.hk-dot.is-active { background: #ce2029; width: 24px; border-radius: 4px; }
