/* stylelint-disable stylistic/selector-list-comma-newline-after */

.blog-header-logo {
  font-family: system-ui;
  font-size: 2.25rem;
}

.blog-header-logo:hover {
  text-decoration: none;
}

h1, h2, h3, h4, h5, h6 {
  font-family: system-ui;
}
body, html{
  font-family:Lato,sans-serif!important;
}
.flex-auto {
  flex: 0 0 auto;
}

.h-250 { height: 250px; }
@media (min-width: 768px) {
  .h-md-250 { height: 250px; }
}

/* Pagination */
.blog-pagination {
  margin-bottom: 4rem;
}

/*
 * Blog posts
 */
.blog-post {
  margin-bottom: 4rem;
}
.blog-post-meta {
  margin-bottom: 1.25rem;
  color: #727272;
}
.footer-border, .navbar-bg{
  background:#21409A;
}
.color-nav-text{
  color:#fff;
}
.nav-link.color-nav-text.active{
  color:#fff;
}
.footer-border{
  height:4px;
}

.bd-placeholder-img {
  font-size: 1.125rem;
  text-anchor: middle;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}

@media (min-width: 768px) {
  .bd-placeholder-img-lg {
    font-size: 3.5rem;
  }
}

.b-example-divider {
  width: 100%;
  height: 3rem;
  background-color: rgba(0, 0, 0, .1);
  border: solid rgba(0, 0, 0, .15);
  border-width: 1px 0;
  box-shadow: inset 0 .5em 1.5em rgba(0, 0, 0, .1), inset 0 .125em .5em rgba(0, 0, 0, .15);
}

.b-example-vr {
  flex-shrink: 0;
  width: 1.5rem;
  height: 100vh;
}

.bi {
  vertical-align: -.125em;
  fill: currentColor;
}

.nav-scroller {
  position: relative;
  z-index: 2;
  height: 2.75rem;
  overflow-y: hidden;
}

.nav-scroller .nav {
  display: flex;
  flex-wrap: nowrap;
  padding-bottom: 1rem;
  margin-top: -1px;
  overflow-x: auto;
  text-align: center;
  white-space: nowrap;
  -webkit-overflow-scrolling: touch;
}

.btn-bd-primary {
  --bd-violet-bg: #712cf9;
  --bd-violet-rgb: 112.520718, 44.062154, 249.437846;

  --bs-btn-font-weight: 600;
  --bs-btn-color: var(--bs-white);
  --bs-btn-bg: var(--bd-violet-bg);
  --bs-btn-border-color: var(--bd-violet-bg);
  --bs-btn-hover-color: var(--bs-white);
  --bs-btn-hover-bg: #6528e0;
  --bs-btn-hover-border-color: #6528e0;
  --bs-btn-focus-shadow-rgb: var(--bd-violet-rgb);
  --bs-btn-active-color: var(--bs-btn-hover-color);
  --bs-btn-active-bg: #5a23c8;
  --bs-btn-active-border-color: #5a23c8;
}

.bd-mode-toggle {
  z-index: 1500;
}

/* Skeleton GPU-composited Loading Animation */
@keyframes skeleton-pulse {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.45;
  }
}

.skeleton-shimmer,
.thumb-headline-main:not(.loaded),
.thumb-box-sm:not(.loaded),
.thumb-box-md:not(.loaded),
.image-container:not(.loaded) {
  background-color: #eceff1 !important;
  animation: skeleton-pulse 1.4s ease-in-out infinite !important;
  will-change: opacity;
}

[data-bs-theme="dark"] .skeleton-shimmer,
[data-bs-theme="dark"] .thumb-headline-main:not(.loaded),
[data-bs-theme="dark"] .thumb-box-sm:not(.loaded),
[data-bs-theme="dark"] .thumb-box-md:not(.loaded),
[data-bs-theme="dark"] .image-container:not(.loaded) {
  background-color: #2b3035 !important;
}

.image-container.loaded,
.thumb-headline-main.loaded,
.thumb-box-sm.loaded,
.thumb-box-md.loaded {
  animation: none !important;
  background: none !important;
  will-change: auto;
}

.skeleton-text {
  height: 14px;
  border-radius: 4px;
  margin-bottom: 6px;
  display: block;
}

.skeleton-text.title {
  height: 18px;
  width: 85%;
}

.skeleton-text.meta {
  height: 12px;
  width: 45%;
}

/* Image Fade In on Load */
.img-uniform,
.thumb-img,
.image-container img {
  opacity: 0;
  transition: opacity 0.3s ease-in-out;
}

.img-uniform.img-loaded,
.thumb-img.img-loaded,
.image-container img.img-loaded,
.thumb-headline-main img,
img[fetchpriority="high"] {
  opacity: 1 !important;
}

.image-container {
  position: relative;
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 220px;
  overflow: hidden;
  border-radius: 0 !important;
  background-color: #0f172a !important;
}

.image-container img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
  border-radius: 0 !important;
  margin: auto;
}

.image-overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  background: linear-gradient(0deg, rgba(0, 0, 0, 0.85) 0%, rgba(0, 0, 0, 0.4) 70%, transparent 100%);
  color: #fff;
  padding: 12px;
  box-sizing: border-box;
}

.image-overlay h3,
.image-overlay h6 {
  margin-top: 0;
}

#myCarousel .carousel-inner img {
  width: 100%;
  height: auto;
  border-radius: 0 !important;
}

#bannerCarousel {
  margin-left: auto;
}

#bannerCarousel .carousel-inner,
#bannerCarousel .carousel-item {
  text-align: right;
}

#bannerCarousel .carousel-item img {
  width: auto !important;
  max-width: 100%;
  max-height: 110px;
  object-fit: contain;
  display: inline-block !important;
  margin-left: auto;
}

/* Card & Thumbnail Image Uniformity - Full Image without Crop (object-fit: contain) */
.img-uniform {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
  border-radius: 0 !important;
  margin: auto;
}

.thumb-headline-main {
  width: 100%;
  height: 220px;
  overflow: hidden;
  border-radius: 0 !important;
  background-color: #0f172a !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
}

@media (min-width: 768px) {
  .thumb-headline-main {
    height: 260px;
  }
}

.thumb-box-sm {
  width: 100px;
  height: 70px;
  min-width: 100px;
  max-width: 100px;
  overflow: hidden;
  border-radius: 0 !important;
  flex-shrink: 0;
  background-color: #0f172a !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
}

@media (min-width: 768px) {
  .thumb-box-sm {
    width: 120px;
    height: 80px;
    min-width: 120px;
    max-width: 120px;
  }
}

.thumb-box-md {
  width: 110px;
  height: 75px;
  min-width: 110px;
  max-width: 110px;
  overflow: hidden;
  border-radius: 0 !important;
  flex-shrink: 0;
  background-color: #0f172a !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
}

@media (min-width: 768px) {
  .thumb-box-md {
    width: 160px;
    height: 105px;
    min-width: 160px;
    max-width: 160px;
  }
}

/* Sharp images across the site */
.thumb-headline-main img,
.thumb-box-sm img,
.thumb-box-md img,
.image-container img,
.card img,
img {
  border-radius: 0 !important;
}

@media (min-width: 768px) {
  .thumb-box-md {
    width: 160px;
    height: 105px;
    min-width: 160px;
    max-width: 160px;
  }
}

/* Title Line Clamping */
.line-clamp-1 {
  display: -webkit-box;
  -webkit-line-clamp: 1;
  line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  word-break: break-word;
}

.line-clamp-2 {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  word-break: break-word;
}

.line-clamp-3 {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  word-break: break-word;
}

body, html {
  font-family: Lato, sans-serif !important;
  overflow-x: hidden;
  max-width: 100vw;
  width: 100%;
}

.min-w-0 {
  min-width: 0 !important;
}

@media (max-width: 991.98px) {
  .position-sticky {
    position: static !important;
  }
}

img {
  max-width: 100%;
  height: auto;
}

.bg-footer{
  background: var(--bs-tertiary-bg);
}

.kategori-color{
  color: #21409A;
  text-decoration: none;
  font-weight: 600;
  font-size: 0.85rem;
  text-transform: uppercase;
}

/* Public Website Dark Mode Harmonization */
[data-bs-theme="dark"] body {
  background-color: #0d1117 !important;
  color: #e6edf3 !important;
}

[data-bs-theme="dark"] .bg-body-tertiary {
  background-color: #161b22 !important;
  border-color: #30363d !important;
}

[data-bs-theme="dark"] .border {
  border-color: #30363d !important;
}

[data-bs-theme="dark"] .border-bottom,
[data-bs-theme="dark"] .border-top {
  border-color: #30363d !important;
}

[data-bs-theme="dark"] .kategori-color {
  color: #58a6ff !important;
}

/* Fix News Body Content Inline Colors in Dark Mode */
[data-bs-theme="dark"] .article-body,
[data-bs-theme="dark"] .article-body p,
[data-bs-theme="dark"] .article-body span,
[data-bs-theme="dark"] .article-body div,
[data-bs-theme="dark"] .article-body li,
[data-bs-theme="dark"] .article-body h1,
[data-bs-theme="dark"] .article-body h2,
[data-bs-theme="dark"] .article-body h3,
[data-bs-theme="dark"] .article-body h4 {
  color: #e6edf3 !important;
  background-color: transparent !important;
}

[data-bs-theme="dark"] .article-body a {
  color: #58a6ff !important;
}

[data-bs-theme="dark"] .article-body blockquote {
  border-left-color: #30363d !important;
  color: #8b949e !important;
}

/* Modal Search Dark Mode */
[data-bs-theme="dark"] .modal-content {
  background-color: #161b22 !important;
  border-color: #30363d !important;
  color: #e6edf3 !important;
}

[data-bs-theme="dark"] .modal-header {
  border-bottom-color: #30363d !important;
}

[data-bs-theme="dark"] .modal-content input {
  background-color: #0d1117 !important;
  color: #e6edf3 !important;
  border-color: #30363d !important;
}

/* Offcanvas Mobile Menu Dark Mode */
[data-bs-theme="dark"] .offcanvas {
  background-color: #161b22 !important;
  color: #e6edf3 !important;
}

[data-bs-theme="dark"] .offcanvas-header {
  border-bottom-color: #30363d !important;
}

[data-bs-theme="dark"] .card {
  background-color: #161b22;
  border-color: #30363d !important;
}
/* Mengatur ukuran gambar agar responsif */
.logo img {
  max-width: 100%;
  height: auto;
}

#bannerCarousel {
  max-width: 100%;
  overflow: hidden;
  border-radius: 6px;
}

#bannerCarousel .carousel-inner {
  max-width: 100%;
  overflow: hidden;
  border-radius: 6px;
}

.banner img,
.order-banner img,
#bannerCarousel .carousel-item img {
  width: auto !important;
  max-width: 100% !important;
  height: auto !important;
  max-height: 160px !important;
  object-fit: contain !important;
  display: inline-block !important;
  margin-left: auto;
}

@media (max-width: 767px) {
  .banner img,
  .order-banner img,
  #bannerCarousel .carousel-item img {
    max-height: 110px !important;
    margin: 0 auto !important;
    display: block !important;
  }
  .order-logo {
    order: -1;
  }
  .order-banner {
    order: 1;
    justify-content: center !important;
  }
  #bannerCarousel,
  #bannerCarousel .carousel-inner,
  #bannerCarousel .carousel-item {
    text-align: center !important;
  }
}

/* =========================================================
   Responsive Modern Pagination (Mencegah Overflow / Offside)
   ========================================================= */
.pagination-wrapper {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  padding: 0.5rem 0;
  margin: 1.5rem 0 0.5rem 0;
  scrollbar-width: none;
}
.pagination-wrapper::-webkit-scrollbar {
  display: none;
}

.pagination {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 6px;
  margin: 0;
  padding: 0;
  list-style: none;
  max-width: 100%;
}

.pagination .page-item {
  margin: 2px 0;
}

.pagination .page-item .page-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 38px;
  height: 38px;
  padding: 0.35rem 0.65rem;
  font-size: 0.875rem;
  font-weight: 600;
  border-radius: 8px !important;
  border: 1px solid rgba(0, 0, 0, 0.15);
  color: var(--bs-body-color);
  background-color: var(--bs-body-bg);
  text-decoration: none;
  transition: all 0.15s ease-in-out;
}

[data-bs-theme="dark"] .pagination .page-item .page-link {
  border-color: rgba(255, 255, 255, 0.15);
  color: #f1f5f9;
  background-color: #1e293b;
}

.pagination .page-item.active .page-link {
  background-color: #21409A !important;
  border-color: #21409A !important;
  color: #ffffff !important;
  box-shadow: 0 2px 8px rgba(33, 64, 154, 0.35);
  font-weight: 700;
}

.pagination .page-item.disabled .page-link {
  opacity: 0.4;
  background-color: transparent !important;
  border-color: rgba(0, 0, 0, 0.08);
  cursor: not-allowed;
}

[data-bs-theme="dark"] .pagination .page-item.disabled .page-link {
  border-color: rgba(255, 255, 255, 0.08);
}

.pagination .page-item .page-link:hover:not(.disabled) {
  background-color: rgba(33, 64, 154, 0.1);
  border-color: #21409A;
  color: #21409A;
}

[data-bs-theme="dark"] .pagination .page-item .page-link:hover:not(.disabled) {
  background-color: rgba(255, 255, 255, 0.1);
  color: #ffffff;
}

@media (max-width: 576px) {
  .pagination {
    gap: 4px;
  }
  .pagination .page-item .page-link {
    min-width: 32px;
    height: 32px;
    padding: 0.2rem 0.45rem;
    font-size: 0.8rem;
    border-radius: 6px !important;
  }
}

/* =========================================================
   Mobile & Tablet Bottom Navigation Bar (Layar < 992px)
   ========================================================= */
@media (max-width: 991.98px) {
  body {
    padding-bottom: calc(64px + env(safe-area-inset-bottom, 0px)) !important;
  }
}

.mobile-bottom-nav {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: 60px;
  background: rgba(255, 255, 255, 0.96);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-top: 1px solid rgba(0, 0, 0, 0.08);
  box-shadow: 0 -3px 14px rgba(0, 0, 0, 0.06);
  z-index: 1030;
  padding-bottom: env(safe-area-inset-bottom, 0px);
}

.mobile-bottom-nav .nav-container {
  display: flex;
  align-items: center;
  justify-content: space-around;
  height: 100%;
  max-width: 720px;
  margin: 0 auto;
  padding: 0 4px;
}

.mobile-bottom-nav .nav-item-btn {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  flex: 1;
  height: 100%;
  color: #64748b;
  text-decoration: none;
  background: none;
  border: none;
  padding: 4px 0;
  cursor: pointer;
  transition: color 0.2s ease, transform 0.15s ease;
  user-select: none;
  -webkit-tap-highlight-color: transparent;
}

.mobile-bottom-nav .nav-item-btn:active {
  transform: scale(0.92);
}

.mobile-bottom-nav .nav-item-btn .nav-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 2px;
  transition: transform 0.2s ease;
}

.mobile-bottom-nav .nav-item-btn .nav-icon svg {
  width: 21px;
  height: 21px;
}

.mobile-bottom-nav .nav-item-btn .nav-label {
  font-size: 0.72rem;
  font-weight: 500;
  letter-spacing: -0.2px;
  line-height: 1;
}

.mobile-bottom-nav .nav-item-btn.active,
.mobile-bottom-nav .nav-item-btn:hover {
  color: #21409A;
}

.mobile-bottom-nav .nav-item-btn.active .nav-label {
  font-weight: 700;
}

/* Dropup theme menu styling in bottom nav */
.mobile-bottom-nav .dropup .dropdown-menu {
  margin-bottom: 12px !important;
  border-radius: 12px;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15);
  border: 1px solid rgba(0, 0, 0, 0.08);
  min-width: 140px;
}

/* Dark Mode Support for Mobile Bottom Nav */
[data-bs-theme="dark"] .mobile-bottom-nav {
  background: rgba(22, 27, 34, 0.96);
  border-top: 1px solid #30363d;
  box-shadow: 0 -3px 14px rgba(0, 0, 0, 0.35);
}

[data-bs-theme="dark"] .mobile-bottom-nav .nav-item-btn {
  color: #8b949e;
}

[data-bs-theme="dark"] .mobile-bottom-nav .nav-item-btn.active,
[data-bs-theme="dark"] .mobile-bottom-nav .nav-item-btn:hover {
  color: #58a6ff;
}

[data-bs-theme="dark"] .mobile-bottom-nav .dropup .dropdown-menu {
  background-color: #161b22;
  border-color: #30363d;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5);
}

/* =========================================================
   Bottom Sheet Offcanvas (Kategori) & Bottom Search Modal
   ========================================================= */
.offcanvas-bottom-handle {
  width: 40px;
  height: 4px;
  border-radius: 2px;
  background-color: #cbd5e1;
  margin: 0 auto 8px auto;
}

[data-bs-theme="dark"] .offcanvas-bottom-handle {
  background-color: #475569;
}

/* Offcanvas Kategori Bottom Sheet */
.offcanvas-bottom.offcanvas-mobile-bottom {
  height: 72vh !important;
  max-height: 82vh !important;
  border-top-left-radius: 24px !important;
  border-top-right-radius: 24px !important;
  border-left: none !important;
  border-right: none !important;
  border-bottom: none !important;
  box-shadow: 0 -10px 35px rgba(0, 0, 0, 0.25) !important;
}

[data-bs-theme="dark"] .offcanvas-bottom.offcanvas-mobile-bottom {
  background-color: #161b22 !important;
  border-top: 1px solid #30363d !important;
  box-shadow: 0 -10px 35px rgba(0, 0, 0, 0.6) !important;
}

/* =========================================================
   Offcanvas Pencarian Artikel (Bottom Sheet 100% Simetris)
   ========================================================= */
.offcanvas-search-bottom {
  height: 75vh !important;
  height: 75dvh !important;
  max-height: 85vh !important;
  max-height: 85dvh !important;
  border-top-left-radius: 24px !important;
  border-top-right-radius: 24px !important;
  border-left: none !important;
  border-right: none !important;
  border-bottom: none !important;
  box-shadow: 0 -10px 40px rgba(0, 0, 0, 0.25) !important;
  z-index: 1045 !important;
}

[data-bs-theme="dark"] .offcanvas-search-bottom {
  background-color: #161b22 !important;
  border-top: 1px solid #30363d !important;
  box-shadow: 0 -10px 40px rgba(0, 0, 0, 0.6) !important;
}

.search-offcanvas-body {
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow: hidden;
}

/* Khusus Mobile & Tablet (< 992px):
   100% Simetris, Hasil di ATAS (order: 1), Input di BAWAH (order: 2) */
@media (max-width: 991.98px) {
  .search-offcanvas-body {
    padding: 12px 16px !important;
  }
  .search-results-wrap {
    order: 1 !important;
    overflow-y: auto;
    flex: 1 1 auto;
    min-height: 0;
    margin-bottom: 8px;
    -webkit-overflow-scrolling: touch;
  }
  .search-input-wrap {
    order: 2 !important;
    margin-top: auto;
    padding-top: 10px;
    border-top: 1px solid rgba(0, 0, 0, 0.08);
    padding-bottom: calc(10px + env(safe-area-inset-bottom, 0px));
  }
}

/* Khusus Desktop (>= 992px):
   Center modal-like bottom dock, Input di ATAS, Hasil di BAWAH */
@media (min-width: 992px) {
  .offcanvas-search-bottom {
    max-width: 760px !important;
    left: 0 !important;
    right: 0 !important;
    margin-left: auto !important;
    margin-right: auto !important;
    border: 1px solid rgba(0, 0, 0, 0.12) !important;
    border-bottom: none !important;
    height: 70vh !important;
  }
  [data-bs-theme="dark"] .offcanvas-search-bottom {
    border-color: #30363d !important;
  }
  .search-offcanvas-body {
    display: block;
    padding: 20px 24px !important;
  }
  .search-input-wrap {
    margin-bottom: 16px;
    padding-top: 0;
    border-top: none;
  }
  .search-results-wrap {
    max-height: calc(70vh - 120px);
    overflow-y: auto;
  }
}

[data-bs-theme="dark"] .search-input-wrap {
  border-top-color: #30363d !important;
}

[data-bs-theme="dark"] .offcanvas-search-bottom input {
  background-color: #0d1117 !important;
  color: #e6edf3 !important;
  border-color: #30363d !important;
}

[data-bs-theme="dark"] .offcanvas-search-bottom .input-group-text {
  background-color: #161b22 !important;
  color: #8b949e !important;
  border-color: #30363d !important;
}

.search-result-item {
  transition: background-color 0.15s ease-in-out;
}

.search-result-item:hover {
  background-color: rgba(0, 0, 0, 0.05);
}

[data-bs-theme="dark"] .search-result-item:hover {
  background-color: rgba(255, 255, 255, 0.06);
}