
    html, body { height: 100%; }
    body { font-family: 'Inter', system-ui, -apple-system, Segoe UI, Roboto, 'Helvetica Neue', Arial, 'Noto Sans', 'Liberation Sans', sans-serif; }

    /* HERO */
  

    /* Topbar (logo + keluar) */
    .topbar {
      position: absolute;
      inset-inline: 0;
      top: .75rem;
      padding-inline: 1rem;
      z-index: 10;
    }

    /* Headline */
    .portal-title{
      font-weight: 800;
      line-height: 1.12;
      text-align: center;
    }
    .portal-title .muted{
      color: #f5f0ee;
      opacity: .9;
      font-weight: 700;
    }
    .portal-title .brand{
      color: #fff;
      text-shadow: 0 2px 18px rgba(0,0,0,.35);
      font-weight: 800;
    }

    /* Search */
    .search-wrap{
      max-width: 960px;
      margin-inline: auto;
    }
    .searchbar{
      background: rgba(255,255,255,.9);
      box-shadow: 0 12px 30px rgba(0,0,0,.18);
      border: 0;
      padding: .35rem .5rem .35rem 0;
      border-radius: 999px;
      backdrop-filter: blur(6px);
    }
    .searchbar .form-control{
      background: transparent;
      border: 0;
      padding: 1rem .25rem;
      font-size: 1.05rem;
      color: #2b2b2b;
    }
    .searchbar .form-control:focus{
      box-shadow: none;
    }
    .searchbar .btn-voice{
      width: 42px; height: 42px;
      border-radius: 50%;
      background: #fff;
      color: var(--choco);
      border: 0;
    }
    .searchbar .btn-voice:hover{ background: #f7f3f2; }

    /* Kartu kategori */
    .category-card{
      background: rgba(255,255,255,.94);
      border: 0;
      border-radius: 16px;
      padding: 1.25rem 1rem;
      text-align: center;
      transition: transform .15s ease, box-shadow .15s ease;
      box-shadow: 0 8px 24px rgba(0,0,0,.18);
      min-width: 210px;
    }
    .category-card .icon{
      width: 56px; height: 56px;
      display: grid; place-items: center;
      border-radius: 12px;
      background: #efe8e5;
      color: var(--choco);
      margin-inline: auto;
      font-size: 1.5rem;
    }
    .category-card:hover{
      transform: translateY(-2px);
      box-shadow: 0 14px 36px rgba(0,0,0,.22);
    }
    .category-card .title{
      margin-top: .9rem;
      margin-bottom: 0;
      font-weight: 700;
      color: #2b1f1c;
      line-height: 1.15;
    }
    .category-card .subtitle{
      font-size: .92rem;
      opacity: .85;
      margin: 0;
    }

    /* Footer */
    .copyright{
      position: absolute;
      left: 0; right: 0; bottom: .75rem;
      color: #fff;
      opacity: .9;
      text-align: center;
      font-size: .9rem;
    }

    /* Chat bubble */
    .chat-fab{
      position: fixed;
      right: 18px; bottom: 18px;
      width: 56px; height: 56px;
      border-radius: 50%;
      background: #2b1f1c;
      color: #fff;
      display: grid; place-items: center;
      box-shadow: 0 12px 24px rgba(0,0,0,.28);
      border: 0;
    }
    .chat-fab:hover{ opacity: .9; }

    @media (max-width: 576px){
      .portal-title{ font-size: 1.9rem; }
    }

 .category-card {
  background: transparent;
  box-shadow: none;
  border: none;
  padding: 0;
  text-align: center;
}

/* Ikon dengan background coklat bundar */
.category-card .icon {
  width: 64px;
  height: 64px;
  display: grid;
  place-items: center;
  border-radius: 16px;     /* kotak rounded */
  background:#A47A64;     /* coklat, bisa diganti sesuai tone */
  color: #fff;             /* warna ikon */
  font-size: 1.6rem;
  margin: 0 auto 0.75rem;
}

.navbar-toggler { z-index: 1040; }

.category-card .title {
  margin: 0;
  font-weight: 600;
  color: #fff; /* teks putih supaya kontras di background foto */
}

/* Navbar & panel collapse transparan */
.topbar {  backdrop-filter: none !important; border: 0 !important; }
.navbar-collapse { background: transparent !important; border: 0 !important; }

/* Optional: biar tombol tetap kebaca di atas hero */
.navbar-toggler { z-index: 1040; }

/* Kalau sebelumnya .topbar dibuat sticky/fixed, beri ruang di hero */
@media (max-width: 991.98px){
  .hero { padding-top: 72px; } /* sesuaikan tinggi navbar-mu */
}


@media (max-width: 991.98px) { /* < lg */
  /* 1) Navbar jangan absolute di mobile */
  .topbar {
    position: sticky;       /* atau 'fixed' kalau mau selalu nempel */
    top: 0;
    inset-inline: auto;     /* reset */
    padding-inline: .75rem; /* lebih rapat di mobile */
    z-index: 1030;
    background: rgba(25,28,38,.85); /* latar gelap semi transparan */
    backdrop-filter: blur(6px);
    border-bottom: 1px solid rgba(255,255,255,.08);
  }

  /* 2) Panel collapse tampil sebagai blok dengan padding */
  .navbar-collapse {
    background: transparent;              /* panel ikut warna topbar */
    padding: .5rem 0 .75rem;
    margin-top: .25rem;
  }

  /* 3) Link menu enak di-tap */
  .navbar .nav-link {
    color: #fff;
    padding: .55rem 0;
    opacity: .95;
  }
  .navbar .nav-link.active,
  .navbar .nav-link:focus,
  .navbar .nav-link:hover { opacity: 1; font-weight: 600; }

  /* 4) Tombol Masuk full width di mobile, tetap normal di desktop */
  .navbar .btn {
    width: 100%;
    margin-top: .25rem;
    box-shadow: 0 2px 8px rgba(0,0,0,.15);
  }
}

/* beri ruang ekstra di atas hero kalau navbar sticky/fixed */
@media (max-width: 991.98px){
  .hero { padding-top: 72px; } /* sesuaikan tinggi navbar kamu */
}
