/* ============================
   Poppins Regular
============================ */
@font-face {
  font-family: 'Poppins';
  src: url('/assets/vendor/fonts/Poppins-Regular.woff2') format('woff2'),
       url('/assets/vendor/fonts/Poppins-Regular.woff') format('woff'),
       url('/assets/vendor/fonts/Poppins-Regular.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;         
  font-size-adjust: 0.52;    
}

/* ============================
   Poppins Bold
============================ */
@font-face {
  font-family: 'Poppins';
  src: url('/assets/vendor/fonts/Poppins-Bold.woff2') format('woff2'),
       url('/assets/vendor/fonts/Poppins-Bold.woff') format('woff'),
       url('/assets/vendor/fonts/Poppins-Bold.ttf') format('truetype');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
  font-size-adjust: 0.52;
}

/* ============================
   RemixIcon
============================ */
@font-face {
  font-family: 'RemixIcon';
  src: url('/assets/vendor/fonts/remixicon.woff2') format('woff2');
  font-display: swap;
}

/* ============================
   Body Font Setup
============================ */
body {
  font-family: 'open sans', 'Segoe UI', Roboto, system-ui, -apple-system, sans-serif;
  font-size-adjust: 0.52;
}


a[itemprop="articleSection"] {
    display: inline-block;
    padding: 3px 1px; /* tambah ruang sentuh */
    font-size: 14px;   /* jangan terlalu kecil */
    line-height: 1.4;  /* supaya lega */
}
a[itemprop="articleSection"] {
    margin-right: 8px;
    margin-bottom: 3px;
}

/* === GENERAL === */
/* taruh di file CSS utama */
.section-title {
  margin-top: 0.75rem;
  margin-bottom: 0.75rem;
  padding-left: 0.625rem; /* konsisten dengan ps-2 */
  text-transform: uppercase;
  font-size: 1rem; /* samakan ukuran */
}

/* optional: bikin border-start konsisten display */
.section-title.border-start {
  border-left-width: 0.4rem; /* atau biarkan bootstrap */
}

/* === HEADER === */
.header {
  max-height: 70px;
  position: relative;
  z-index: 1000;
}

/* Social Icons */
.social-icons a {
  font-size: 1.5rem;
  margin-left: 0.5rem;
  color: #555;
  transition: color 0.3s, transform 0.3s;
}
.social-icons a:hover {
  color: #0d6efd;
  transform: scale(1.1);
}

/* Search Box */
.search-box {
  width: 320px;
  flex-grow: 1;
}
.search-box form {
  position: relative;
}
.search-box input {
  padding-left: 2rem;
}
.search-box .search-icon {
  position: absolute;
  top: 50%;
  left: 10px;
  transform: translateY(-50%);
  color: #666;
  cursor: pointer;
}

/* === NAVBAR === */
.main-navbar {
  position: relative;
}
.navbar-shadow {
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}
@media (min-width: 992px) {
  .navbar-nav .dropdown:hover > .dropdown-menu {
    display: block;
    margin-top: 0;
  }
}

/* Scrollable menu (mobile) */
.menu-scroll {
  overflow-x: auto;
  white-space: nowrap;
  -webkit-overflow-scrolling: touch;
}
.menu-scroll .nav-link {
  display: inline-block;
}
.menu-scroll::-webkit-scrollbar {
  display: none;
}

/* === BREAKING NEWS === */
.breaking-news-wrapper {
  display: inline-block;
  white-space: nowrap;
  animation: marquee 15s linear infinite;
  cursor: pointer;
}
.breaking-news-wrapper:hover {
  animation-play-state: paused;
}
@keyframes marquee {
  from {
    transform: translateX(100%);
  }
  to {
    transform: translateX(-100%);
  }
}
.breaking-news-text {
  padding-right: 100%;
  color: red;
}
/* === NEWS / HEADLINE === */
.title-section {
  font-size: 1.5rem;
  font-weight: 600;
  border-left: 4px solid #0d6efd;
  padding-left: 0.75rem;
  margin-bottom: 1.5rem;
  color: #212529;
  background: #f8f9fa;
}

/* Tambahkan aspect ratio dan ukuran minimal agar container hl-item tidak berubah-ubah */
.hl-item {
  position: relative;
  overflow: hidden;
  aspect-ratio: 4 / 3;       /* stabilkan proporsi */
  width: 100%;               /* pastikan lebar penuh container */
}

.hl-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: 0.4s;
}

.hl-item:hover .hl-image {
  transform: scale(1.05);
}

.hl-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.6), transparent 60%);
  color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}

.hl-title {
  font-size: 22px;
  font-weight: 600;
  line-height: 1.1;
}

.hl-category,
.hl-time {
  font-size: 0.75rem;
  opacity: 0.85;
}

/* News Thumb */
.news-thumb-wrapper {
  aspect-ratio: 16 / 9;      /* tetap jaga rasio gambar thumb */
  overflow: hidden;
  width: 100%;   /* sesuai rasio 16:9, sesuaikan jika perlu */
}

.news-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: blur(20px);
  transition: 0.4s;
  display: block;            /* hindari pergeseran */
}

.news-img.lazyloaded {
  filter: blur(0);
}

.news-img-wrap:hover .news-img {
  transform: scale(1.05);
}

.news-title {
  font-size: 21px;
}

.news-title a {
  color: inherit;
}

.news-title a:hover {
  color: #034e99;
}


.news-category a {
    line-height: 1.6;
    font-size: 14px;
}
.news-meta {
  font-size: 14px;
}

/* === VIDEO === */
.video-scroll-wrapper {
  overflow-x: auto;
  white-space: nowrap;
  padding-bottom: 8px;
  -webkit-overflow-scrolling: touch;
}
.video-scroll-wrapper::-webkit-scrollbar {
  height: 6px;
}
.video-scroll-wrapper::-webkit-scrollbar-thumb {
  background: #999;
  border-radius: 4px;
}
.video-item {
  display: inline-block;
  width: 220px;
}

.video-thumb {
  position: relative;
  overflow: hidden;
  border-radius: 0.5rem;
}
.video-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: 0.4s;
}
.video-overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.25);
  transition: background 0.3s;
}
.play-button {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: rgba(255, 255, 255, 0.85);
  border-radius: 50%;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
}
.play-button i {
  font-size: 16px;
  color: #0d6efd;
}

.video-thumb:hover img {
  transform: scale(1.05);
}
.video-thumb:hover .video-overlay {
  background: rgba(0, 0, 0, 0.4);
}
.video-thumb:hover .play-button {
  transform: translate(-50%, -50%) scale(1.1);
}

/* === FOOTER === */
.footer {
  font-size: 0.95rem;
  background: #121212;
  color: #ccc;
}

.footer-nav a {
  color: #888;
  margin: 0 0.5rem;
  text-decoration: none;
  transition: color 0.3s;
}
.footer-nav a:hover {
  color: #0b0b0b;
}

/* === AVATAR (Reusable) === */
.avatar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  font-weight: 600;
  color: #fff;
  overflow: hidden;
  flex-shrink: 0;
}
.avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Ukuran avatar */
.avatar-sm {
  width: 32px;
  height: 32px;
  font-size: 12px;
}
.avatar-md {
  width: 48px;
  height: 48px;
  font-size: 14px;
}
.avatar-lg {
  width: 64px;
  height: 64px;
  font-size: 18px;
}

/* Avatar stack */
.avatar-stack {
  display: flex;
}
.avatar-stack .avatar + .avatar {
  margin-left: -10px;
  border: 2px solid #fff;
}

/* Dropdown author */
.avatar-dropdown {
  position: relative;
  display: inline-block;
}
.avatar-dropdown-menu {
  position: absolute;
  top: 100%;
  left: 0;
  display: none;
  min-width: 200px;
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
  padding: 0.5rem;
  z-index: 1000;
}
.avatar-dropdown:hover .avatar-dropdown-menu {
  display: block;
}
.avatar-dropdown-menu .avatar-item {
  display: flex;
  align-items: center;
  padding: 0.4rem 0;
  border-bottom: 1px solid #f0f0f0;
}
.avatar-dropdown-menu .avatar-item:last-child {
  border-bottom: none;
}
.avatar-dropdown-menu .avatar {
  margin-right: 8px;
}
/* === AUTHOR AVATAR GROUP === */
.author-group {
  position: relative;
  display: inline-flex;
  align-items: center;
}

.author-avatar {
  width: 48px;
  height: 48px;
  font-size: 14px;
  font-weight: bold;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  border: 2px solid #fff;
  background: #0d6efd; /* default warna */
}

/* Avatar stack (overlap) */
.avatar-stack {
  display: flex;
}
.avatar-stack .author-avatar + .author-avatar {
  margin-left: -10px; /* overlap effect */
}

/* Dropdown author list */
.dropdown-authors {
  position: absolute;
  top: 100%;
  left: 0;
  display: none;
  min-width: 200px;
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
  padding: 0.5rem;
  z-index: 1000;
}
.author-group:hover .dropdown-authors {
  display: block;
}

.dropdown-authors .author-item {
  display: flex;
  align-items: center;
  padding: 0.4rem 0;
  border-bottom: 1px solid #f0f0f0;
}
.dropdown-authors .author-item:last-child {
  border-bottom: none;
}

.dropdown-authors .author-avatar {
  width: 32px;
  height: 32px;
  font-size: 12px;
  margin-right: 8px;
}

/* === RESPONSIVE OVERRIDES === */
@media (max-width: 991.98px) {
  .header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
  }
  body {
    padding-top: 60px;
  }
  .news-thumb-wrapper {
    aspect-ratio: 4/3;
  }
  .news-title {
    font-size: 16px;
  }
  .video-item {
    width: 150px;
  }
}





/* Untuk artikel utama */
.article-content {
  font-size: 18px;              /* Ukuran huruf yang nyaman untuk desktop */
  line-height: 1.6;             /* Jarak antar baris */
  color: #222;                  /* Warna teks utama */
  max-width: 720px;             /* Agar tidak terlalu lebar */
  margin: 0 auto;               /* Tengah halaman */
  padding: 16px;
}

/* Heading artikel */
.article-content h1,
.article-content h2,
.article-content h3 {
  line-height: 1.4;
  font-weight: 600;
  margin-top: 1em;
  margin-bottom: 0.6em;
}

.article-content h2 {
  font-size: 24px;
}
.article-content h3 {
  font-size: 21px;
}

/* Paragraf */
.article-content p {
  margin-bottom: 1.2em;
}

/* List */
.article-content ul,
.article-content ol {
  padding-left: 1.4em;
  margin-bottom: 1.2em;
}

/* Responsive tweak untuk mobile */
@media (max-width: 768px) {
  .article-content {
    font-size: 18px;
    line-height: 1.8;
    padding: 20px 12px;
  }
  /* Heading artikel */
    .article-content h1,
    .article-content h2,
    .article-content h3 {
      line-height: 1.6;
      font-weight: 600;
      margin-top: 1em;
      margin-bottom: 0.6em;
    }
    .article-content h2 {
      font-size: 24px;
    }
    .article-content h3 {
      font-size: 21px;
    }

}
