.nc-header { position: relative; z-index: 110; width: 100%; }
.nc-header.sticky-top { position: sticky; top: 0; z-index: 50; background: var(--nc-bg); }

.nc-header--bordered { background: var(--nc-bg); border-bottom: 1px solid var(--nc-n-200); }
.nc-header--soft     { background: var(--nc-bg); box-shadow: 0 1px 0 rgba(44,33,27,0.04), 0 8px 24px rgba(44,33,27,0.05); }
.nc-header--panel    { background: var(--nc-bg-alt); border-bottom: 1px solid var(--nc-n-200); }
.nc-header--warm     { background: var(--nc-bg-warm); border-bottom: 1px solid var(--nc-n-200); }
.nc-header--seamless { background: transparent; }
.nc-header--plain    { background: var(--nc-bg); }
.nc-header--hairline { background: var(--nc-bg); position: relative; }
.nc-header--hairline::after { content:""; position:absolute; left: var(--nc-gutter); right: var(--nc-gutter); bottom: 0; height: 1px; background: var(--nc-n-200); }

.nc-topbar { background: var(--nc-bg-alt); border-bottom: 1px solid var(--nc-n-200); position: relative; z-index: 210; font-size: 0.82rem; }
.nc-topbar__inner { max-width: var(--nc-maxw-wide); margin: 0 auto; padding: 8px var(--nc-gutter);
  display: flex; align-items: center; gap: 22px; color: var(--nc-fg-3); }
.nc-topbar a { color: var(--nc-fg-2); transition: color 0.2s; }
.nc-topbar a:hover { color: var(--nc-ink); }
.nc-topbar .spacer { margin-left: auto; }
.nc-topbar .tb-group { display: flex; align-items: center; gap: 18px; }
.nc-lang { display: inline-flex; align-items: center; gap: 8px; cursor: pointer; font-weight: 500; color: var(--nc-fg-2); position: relative; }
.nc-lang .flag { width: 18px; height: 18px; border-radius: 50%; object-fit: cover; display: inline-block; box-shadow: 0 0 0 1px rgba(44,33,27,0.08); }
.nc-lang .caret { width: 9px; height: 9px; opacity: 0.55; transition: transform 0.2s; }
.nc-lang:hover .caret { transform: rotate(180deg); }
.nc-lang__menu { position: absolute; top: 100%; left: 0; margin-top: 9px; background: #fff; border: 1px solid var(--nc-n-200);
  border-radius: var(--nc-r-md); box-shadow: var(--nc-sh-md); padding: 6px; min-width: 172px; z-index: 200;
  opacity: 0; visibility: hidden; transform: translateY(-5px); transition: opacity 0.2s var(--nc-ease), transform 0.2s var(--nc-ease), visibility 0.2s; }
.nc-lang:hover .nc-lang__menu { opacity: 1; visibility: visible; transform: none; }
.nc-lang__menu a { display: flex; align-items: center; gap: 10px; padding: 8px 10px; border-radius: var(--nc-r-sm); font-weight: 500; color: var(--nc-fg-2); }
.nc-lang__menu a:hover { background: var(--nc-n-100); color: var(--nc-ink); }

.nc-lang__menu::before { content: ""; position: absolute; top: -11px; left: 0; right: 0; height: 11px; }
.nc-lang__menu a.is-active { color: var(--nc-ink); font-weight: 600; }
.nc-lang__menu .fimg { width: 18px; height: 18px; border-radius: 50%; flex: none; object-fit: cover; box-shadow: 0 0 0 1px rgba(44,33,27,0.08); }
.nc-search { display: inline-flex; align-items: center; gap: 9px; color: var(--nc-fg-3); cursor: pointer;
  border: 1px solid var(--nc-n-200); background: #fff; border-radius: var(--nc-r-pill); padding: 6px 22px 6px 14px; min-width: 150px; transition: border-color 0.2s; }
.nc-search:hover { border-color: var(--nc-n-300); }
.nc-search svg { width: 14px; height: 14px; }

.nc-topbar .tb-link { display: inline-flex; align-items: center; gap: 5px; }
.nc-topbar .tb-link svg { width: 14px; height: 14px; opacity: 0.7; }

.nc-topbar--plain { background: var(--nc-bg); border-bottom: none; }
.nc-topbar--plain .nc-topbar__inner { padding-top: 16px; padding-bottom: 6px; }

.nc-topbar--grey { background: #F3F3F5; border-bottom: none; }
@media (max-width: 720px){ .nc-topbar .tb-hide { display: none; } }

.nc-header__inner {
  max-width: var(--nc-maxw-wide);
  margin: 0 auto;
  padding: 18px var(--nc-gutter);
  display: flex; align-items: center; gap: 28px;
}
.nc-logo { flex: none; display: inline-flex; align-items: center; }
.nc-logo img { height: 30px; width: auto; }
.nc-logo--white img { filter: brightness(0) invert(1); }

.nc-nav { display: flex; align-items: center; gap: 4px; margin-left: 6px; }
.nc-nav a {
  position: relative;
  display: inline-flex; align-items: center; gap: 6px; white-space: nowrap;
  font-size: 0.95rem; font-weight: 500; color: var(--nc-fg-2);
  padding: 9px 13px; border-radius: var(--nc-r-sm);
  transition: color 0.2s var(--nc-ease);
}
.nc-nav a::after { content: ""; position: absolute; left: 13px; right: 13px; bottom: 3px; height: 2px;
  background: var(--nc-red); transform: scaleX(0); transform-origin: left center; transition: transform 0.16s var(--nc-ease); }
.nc-nav a:hover { color: var(--nc-ink); }
.nc-nav a:hover::after { transform: scaleX(1); }
.nc-nav .caret { width: 9px; height: 9px; opacity: 0.55; transition: transform 0.22s var(--nc-ease); }
.nc-nav a:hover .caret { transform: rotate(180deg); }

.nc-header__cta { margin-left: auto; display: flex; align-items: center; gap: 10px; }
.nc-header__cta .nc-btn { padding: 0.66em 1.45em; font-size: 0.9rem; }

.nc-utility {
  border-bottom: 1px solid var(--nc-n-200);
  font-size: 0.8rem; color: var(--nc-fg-3);
}
.nc-utility__inner {
  max-width: var(--nc-maxw); margin: 0 auto; padding: 7px var(--nc-gutter);
  display: flex; align-items: center; gap: 20px;
}
.nc-utility a { color: var(--nc-fg-3); transition: color 0.2s; }
.nc-utility a:hover { color: var(--nc-ink); }
.nc-utility .sep { margin-left: auto; }

.nc-header--dark .nc-nav a { color: var(--nc-on-dark-2); }
.nc-header--dark .nc-nav a:hover { color: #fff; background: rgba(255,255,255,0.08); }

.nc-header--glass .nc-nav a { color: rgba(255,255,255,0.86); }
.nc-header--glass .nc-nav a:hover { color: #fff; background: rgba(255,255,255,0.12); }

.nc-header--dark .caret, .nc-header--glass .caret { filter: brightness(0) invert(1); }

@media (max-width: 1080px) {
  .nc-nav { display: none; }
  .nc-header__cta .nc-btn--ghost, .nc-header__cta .nc-btn--ghost-dark { display: none; }
}
