/* HBR — shared sticky header (hbr-header.js) for all public pages. */

.hbr-header {
  position: sticky;
  top: 0;
  z-index: 50;
  padding: 0 24px;
  background: #244438;
  color: #fff;
  font-family: "Plus Jakarta Sans", "Segoe UI", Arial, Helvetica, sans-serif;
  transition: background .25s ease, box-shadow .25s ease;
}

.hbr-header-inner {
  max-width: 1180px;
  margin: 0 auto;
  padding: 14px 0;
  display: flex;
  align-items: center;
  gap: 16px;
}

/* Homepage: fixed over the hero, same size as on every other page. The app's
   own .topbar is hidden and sized to this header's height (hbr-header.js),
   transparent until the page scrolls. */
.hbr-header.is-overlay {
  position: fixed;
  left: 0;
  right: 0;
  background: transparent;
}
.hbr-header.is-overlay .hbr-header-inner { box-shadow: inset 0 -1px 0 #ffffff24; }
.hbr-header.is-overlay.is-scrolled {
  background: rgba(21, 48, 41, .94);
  box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
}
.hbr-header.is-overlay.is-scrolled .hbr-header-inner { box-shadow: none; }
.hbr-has-overlay-header .topbar {
  visibility: hidden;
  box-sizing: border-box;
  padding: 0 !important;
  border: 0 !important;
}
.hbr-has-overlay-header #lokasi { scroll-margin-top: 100px; }

/* Brand block (matches the app's .topbar .brand) */
.hbr-header-brand {
  display: flex;
  align-items: center;
  gap: 14px;
  min-width: 0;
  color: #fff;
  text-decoration: none;
}
.hbr-header-brand img { width: 42px; height: 42px; flex: none; display: block; }
.hbr-header-brand strong {
  display: block;
  font-family: "DM Serif Display", Georgia, "Times New Roman", serif;
  font-size: 16px;
  font-weight: 600;
  line-height: 24px;
}
.hbr-header-brand small {
  display: block;
  color: rgba(255, 255, 255, .65);
  font-size: 10px;
  line-height: 15px;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.hbr-header-actions { display: flex; align-items: center; flex: none; }

/* Menu */
.hbr-menu { position: relative; margin-left: auto; }
.hbr-menu-toggle { display: none; }
.hbr-menu-list { display: flex; gap: 4px; margin: 0; padding: 0; list-style: none; }
.hbr-menu-list a {
  display: block;
  padding: 8px 12px;
  border-radius: 999px;
  color: #fffe;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
}
.hbr-menu-list a:hover,
.hbr-menu-list a[aria-current="page"] { background: #ffffff1f; color: #fff; }

@media (min-width: 1181px) {
  .hbr-header-brand strong { white-space: nowrap; }
}

@media (max-width: 1180px) {
  .hbr-menu-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 34px;
    padding: 0;
    border: 1px solid #ffffff2e;
    border-radius: 999px;
    background: #ffffff17;
    color: #fff;
    font: 700 18px/1 "Plus Jakarta Sans", "Segoe UI", Arial, sans-serif;
    cursor: pointer;
  }
  .hbr-menu-list {
    display: none;
    position: absolute;
    top: calc(100% + 8px);
    right: 0;
    min-width: 220px;
    flex-direction: column;
    padding: 8px;
    background: #153029;
    border: 1px solid #ffffff24;
    border-radius: 16px;
    box-shadow: 0 18px 40px rgba(0, 0, 0, .3);
  }
  .hbr-menu.is-open .hbr-menu-list { display: flex; }
  /* Collapsed menu: dark-mode toggle sits before the Menu button. */
  .hbr-header-actions { order: 1; margin-left: auto; }
  .hbr-menu { order: 2; margin-left: 0; }
  .hbr-menu-list a { border-radius: 10px; padding: 11px 14px; }
}

@media (max-width: 640px) {
  .hbr-header { padding: 0 20px; }
  .hbr-header-inner { gap: 10px; }
  .hbr-header-brand { gap: 10px; }
  .hbr-header-brand strong { font-size: 15px; line-height: 20px; }
}
