/* Nirton Consulting — production additions (loaded after base.css).
   Only logo sizing, Home active state, mobile menu, and inert-element cursor.
   Selectors use .nirton-wrap for specificity over the per-page inline styles. */

.nirton-wrap .n-logo { display: flex; align-items: center; min-height: 47.2px; line-height: 0; cursor: pointer; } /* 47.2px = height of the original text logo block, keeps header height unchanged */
.nirton-wrap .n-logo img { display: block; height: 36.8px; width: auto; max-width: 100%; }

.nirton-wrap .n-nav-links a.active { color: var(--kimi-color-text-primary); font-weight: 500; }
.nirton-wrap .n-nav-links a { cursor: pointer; }

/* Client Portal: reserved for future OMS integration — visually unchanged, functionally inactive */
.nirton-wrap .n-nav-cta { cursor: pointer; }

/* Sticky header: base.css sets #widget-root{overflow:hidden}, which stops position:sticky from working.
   overflow-x:clip still prevents sideways scroll but does not create a scroll container. */
#widget-root { overflow: visible; overflow-x: clip; }

/* Footer links: live-looking, intentionally not wired to any page yet */
.nirton-wrap a.n-foot-link[data-status] { color: inherit; text-decoration: none; cursor: pointer; }
.nirton-wrap a.n-foot-link:hover, .nirton-wrap a.n-foot-link:focus-visible { text-decoration: underline; }

/* Elements whose destination content does not exist yet */
.nirton-wrap [data-status="coming-soon"] { cursor: default; }

/* Mobile menu toggle: hidden on desktop/tablet */
.nirton-wrap .n-menu-btn {
  display: none; background: none; border: 1px solid var(--lux-border); border-radius: 6px;
  width: 38px; height: 38px; padding: 0; color: var(--kimi-color-text-primary); align-items: center; justify-content: center;
}
.nirton-wrap .n-menu-btn svg { width: 18px; height: 18px; }

@media (max-width: 640px) {
  .nirton-wrap .n-nav { gap: 10px; padding: 12px 16px; }
  .nirton-wrap .n-logo { min-height: 0; }
  .nirton-wrap .n-logo img { height: 28.8px; }
  .nirton-wrap .n-menu-btn { display: inline-flex; margin-left: auto; }
  .nirton-wrap .n-nav-links { display: none; }
  .nirton-wrap .n-nav.menu-open .n-nav-links {
    display: flex; flex-direction: column; gap: 0; position: absolute; top: 100%; left: 0; right: 0;
    background: #fff; border-bottom: 1px solid var(--lux-border); padding: 8px 16px 12px; font-size: 15px;
  }
  .nirton-wrap .n-nav.menu-open .n-nav-links a { padding: 12px 8px; border-bottom: 1px solid var(--lux-border); }
  .nirton-wrap .n-nav.menu-open .n-nav-links a:last-child { border-bottom: none; }
}

/* 404 page */
.nirton-wrap .n-404 { text-align: center; padding: 96px 24px; }
.nirton-wrap .n-404 h1 { font-size: 40px; font-weight: 500; margin: 12px 0; }
.nirton-wrap .n-404 p { color: var(--kimi-color-text-secondary); margin-bottom: 24px; }

/* Monochrome logo, expanded right inset, and social media icon group */
.nirton-wrap .n-nav { padding-right: calc(24px + 2cm); }
.nirton-wrap .n-logo img { height: 36.8px; width: auto; max-width: min(30vw, 208px); object-fit: contain; }
.nirton-wrap .n-nav-social-group { display: flex; align-items: center; gap: 22px; }
.nirton-wrap .n-social-icons { display: flex; align-items: center; gap: 13px; margin-left: 2px; }
.nirton-wrap .n-social-icon { display: inline-flex; align-items: center; justify-content: center; width: 22px; height: 22px; color: var(--kimi-color-text-primary); }
.nirton-wrap .n-social-icon svg { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.nirton-wrap .n-social-icon svg .fill-dot { fill: currentColor; stroke: none; }
@media (max-width: 900px) { .nirton-wrap .n-nav { padding-right: 24px; } .nirton-wrap .n-nav-social-group { gap: 12px; } .nirton-wrap .n-social-icons { gap: 8px; } }
@media (max-width: 640px) { .nirton-wrap .n-nav { padding-right: 16px; } .nirton-wrap .n-nav-social-group { gap: 8px; } .nirton-wrap .n-social-icons { display: none; } .nirton-wrap .n-logo img { max-width: 152px; } }


/* FIX: keep Client Portal consistently visible on every page and viewport. */
.nirton-wrap .n-nav {
  display: flex !important;
  align-items: center;
}
.nirton-wrap .n-nav-social-group {
  display: flex !important;
  align-items: center;
  flex: 0 0 auto;
  visibility: visible !important;
  opacity: 1 !important;
  position: relative;
  z-index: 2;
}
.nirton-wrap .n-nav-cta {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  min-height: 40px;
  min-width: 124px;
  padding: 9px 20px;
  white-space: nowrap;
  visibility: visible !important;
  opacity: 1 !important;
  color: #fff !important;
  background: #171717 !important;
  border: 0;
  border-radius: 7px;
  line-height: 1.2;
  font-weight: 600;
}
.nirton-wrap .n-nav-cta:hover { opacity: .9 !important; }
@media (max-width: 640px) {
  .nirton-wrap .n-nav-social-group { margin-left: 0; }
  .nirton-wrap .n-nav-cta { min-width: 108px; min-height: 36px; padding: 8px 12px; font-size: 12px; }
}
