.elementor-5901 .elementor-element.elementor-element-585b696{--display:flex;}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}/* Start custom CSS for html, class: .elementor-element-0e52222 *//*
 * ============================================================
 *  NOBEL AUDIOLOGY — HEADER CSS
 *  Bagian 2: CSS saja
 *
 *  Cara pasang (pilih salah satu):
 *  A) WP Admin → Appearance → Customize → Additional CSS
 *  B) Elementor → Site Settings → Custom CSS
 * ============================================================
 */

@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@500;600;700;800&display=swap');

.nbl-header,
.nbl-header * {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

.nbl-header {
  position: sticky;
  top: 0;
  z-index: 9990;
  font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Arial, sans-serif;
  line-height: 1.4;
  -webkit-font-smoothing: antialiased;
}

.nbl-header a { text-decoration: none; color: inherit; }
.nbl-header img { display: block; max-width: 100%; }
.nbl-header svg { display: inline-block; vertical-align: middle; flex: none; }

.nbl-wrap {
  width: 100%;
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 clamp(16px, 4vw, 38px);
}

/* ── Top Bar ── */
.nbl-topbar { background: #0C2448; color: #cfe0f2; font-size: 13px; }
.nbl-topbar-in {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 42px;
  flex-wrap: wrap;
}
.nbl-tb-l { display: flex; align-items: center; gap: 22px; }
.nbl-topbar a,
.nbl-topbar span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: #e3eefb;
  font-weight: 600;
}
.nbl-topbar a:hover { color: #fff; }
.nbl-topbar svg { opacity: .85; }

/* ── Nav Bar ── */
.nbl-bar {
  background: rgba(255, 255, 255, .94);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid #e3ebf4;
  transition: box-shadow .3s;
}
.nbl-header.nbl-stuck .nbl-bar {
  box-shadow: 0 6px 22px -14px rgba(12, 36, 72, .5);
}
.nbl-bar-in {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 74px;
}
.nbl-brand img {
  height: 52px !important;
  width: auto !important;
  max-width: none !important;
  object-fit: contain;
}

/* ── Desktop Navigation ── */
.nbl-nav { display: flex; align-items: center; gap: 2px; }

.nbl-nav > a,
.nbl-has > a {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 9px 11px;
  border-radius: 10px;
  font-weight: 600;
  font-size: 14.5px;
  color: #0C2240;
  cursor: pointer;
  white-space: nowrap;
}
.nbl-nav > a:hover,
.nbl-has:hover > a { color: #005484; background: #EDF4FA; }

.nbl-chev { opacity: .7; transition: transform .25s; }
.nbl-has:hover .nbl-chev { transform: rotate(180deg); }

.nbl-has { position: relative; }
.nbl-menu {
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  min-width: 230px;
  background: #fff;
  border: 1px solid #e3ebf4;
  border-radius: 14px;
  box-shadow: 0 18px 40px -18px rgba(12, 36, 72, .4);
  padding: 8px;
  opacity: 0;
  visibility: hidden;
  transform: translateY(8px);
  transition: .2s;
}
.nbl-has:hover .nbl-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.nbl-menu a {
  display: block;
  padding: 9px 11px;
  border-radius: 9px;
  font-weight: 600;
  font-size: 14px;
  color: #0C2240;
}
.nbl-menu a small {
  display: block;
  font-weight: 500;
  font-size: 12px;
  color: #5B6A7E;
  margin-top: 1px;
}
.nbl-menu a:hover { background: #EDF4FA; color: #005484; }

/* ── CTA Buttons ── */
.nbl-cta { display: flex; align-items: center; gap: 9px; }

.nbl-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  cursor: pointer;
  padding: 11px 17px;
  border-radius: 100px;
  font-weight: 700;
  font-size: 14px;
  border: 2px solid transparent;
  font-family: inherit;
  line-height: 1;
  white-space: nowrap;
  transition: .22s;
}
.nbl-btn-primary {
  background: #0E73B8;
  color: #fff;
  box-shadow: 0 12px 24px -12px #0A5C95;
}
.nbl-btn-primary:hover {
  background: #0A5C95;
  transform: translateY(-2px);
  color: #fff;
}
.nbl-btn-ghost {
  background: transparent;
  color: #0C2448;
  border-color: #d6e1ec;
}
.nbl-btn-ghost:hover { border-color: #005484; color: #005484; }

/* ── Hamburger Burger ── */
.nbl-burger {
  display: none;
  width: 46px;
  height: 46px;
  border: 1px solid #d6e1ec;
  border-radius: 12px;
  background: #fff;
  cursor: pointer;
  align-items: center;
  justify-content: center;
}
.nbl-burger span,
.nbl-burger span::before,
.nbl-burger span::after {
  content: '';
  display: block;
  position: relative;
  width: 20px;
  height: 2px;
  background: #0C2448;
  border-radius: 2px;
  transition: .3s;
}
.nbl-burger span::before { position: absolute; top: -6px; }
.nbl-burger span::after  { position: absolute; top:  6px; }

.nbl-header.nbl-open .nbl-burger span { background: transparent; }
.nbl-header.nbl-open .nbl-burger span::before { top: 0; transform: rotate(45deg); }
.nbl-header.nbl-open .nbl-burger span::after  { top: 0; transform: rotate(-45deg); }

/* ── Mobile Overlay & Drawer ── */
.nbl-overlay {
  position: fixed;
  inset: 0;
  background: rgba(8, 26, 51, .5);
  z-index: 9995;
  opacity: 0;
  visibility: hidden;
  transition: .3s;
}
.nbl-header.nbl-open .nbl-overlay { opacity: 1; visibility: visible; }

.nbl-drawer {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  width: min(86vw, 360px);
  background: #fff;
  z-index: 9996;
  transform: translateX(100%);
  transition: transform .33s ease;
  display: flex;
  flex-direction: column;
  padding: 18px;
  overflow-y: auto;
  box-shadow: -20px 0 50px -25px rgba(12, 36, 72, .5);
}
.nbl-header.nbl-open .nbl-drawer { transform: translateX(0); }

.nbl-drawer-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 10px;
}
.nbl-close {
  width: 42px;
  height: 42px;
  border: 1px solid #d6e1ec;
  border-radius: 11px;
  background: #fff;
  font-size: 24px;
  line-height: 1;
  color: #0C2448;
  cursor: pointer;
}

/* ── Mobile Nav List ── */
.nbl-mnav { list-style: none; }
.nbl-mnav > li { border-bottom: 1px solid #eef3f8; }

.nbl-mnav a,
.nbl-mpar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 14px 4px;
  font-weight: 600;
  font-size: 15px;
  color: #0C2240;
  background: none;
  border: none;
  text-align: left;
  font-family: inherit;
  cursor: pointer;
}
.nbl-msub {
  list-style: none;
  padding: 0 0 8px 12px;
  max-height: 0;
  overflow: hidden;
  transition: max-height .3s ease;
}
.nbl-msub.nbl-show { max-height: 320px; }
.nbl-msub a { padding: 9px 4px; font-weight: 500; font-size: 14px; color: #5B6A7E; }

.nbl-mpar .nbl-chev { transition: transform .25s; }
.nbl-mpar.nbl-act .nbl-chev { transform: rotate(180deg); }

.nbl-drawer-cta {
  margin-top: auto;
  padding-top: 16px;
  display: flex;
  flex-direction: column;
  gap: 9px;
}
.nbl-drawer-cta .nbl-btn { width: 100%; }

/* ── Responsive Breakpoints ── */
@media (max-width: 1180px) {
  .nbl-cta .nbl-btn-ghost { display: none; }
  .nbl-nav > a,
  .nbl-has > a { padding: 8px 8px; font-size: 14px; }
}

@media (max-width: 1024px) {
  .nbl-nav,
  .nbl-topbar { display: none; }
  .nbl-burger { display: inline-flex; }
  .nbl-cta .nbl-btn-ghost { display: none; }
}

@media (max-width: 480px) {
  .nbl-cta .nbl-btn-primary span { display: none; }
}/* End custom CSS */