/* Ness Group: ajustes visuales claros/oscuros y navegación */
html { color-scheme: light; }
html.dark { color-scheme: dark; }

body.ness-site {
  min-height: 100vh;
  background: #ffffff;
  color: #637381;
}

html.dark body.ness-site {
  background: #0b1120;
  color: #cbd5e1;
}

body.ness-site .ud-header {
  transition: background-color .25s ease, border-color .25s ease, box-shadow .25s ease, backdrop-filter .25s ease;
  border-bottom: 1px solid rgba(255, 255, 255, .14);
}

body.ness-site .ud-header:not(.sticky) {
  background: linear-gradient(180deg, rgba(9, 14, 52, .74) 0%, rgba(9, 14, 52, .24) 72%, rgba(9, 14, 52, 0) 100%);
}

body.ness-site .ud-header.sticky {
  background: rgba(255, 255, 255, .96) !important;
  border-bottom-color: #e5e7eb;
  box-shadow: 0 10px 30px rgba(15, 23, 42, .10), inset 0 -1px 0 rgba(15, 23, 42, .05);
  backdrop-filter: blur(14px);
}

html.dark body.ness-site .ud-header.sticky {
  background: rgba(3, 7, 18, .96) !important;
  border-bottom-color: #334155;
  box-shadow: 0 12px 34px rgba(0, 0, 0, .42), inset 0 -1px 0 rgba(148, 163, 184, .10);
}

body.ness-site .site-logo-dark { display: none; }
body.ness-site .ud-header.sticky .site-logo-light { display: none; }
body.ness-site .ud-header.sticky .site-logo-dark { display: block; }
html.dark body.ness-site .ud-header.sticky .site-logo-light { display: block; }
html.dark body.ness-site .ud-header.sticky .site-logo-dark { display: none; }

body.ness-site #navbarCollapse {
  border: 1px solid #e5e7eb;
}

html.dark body.ness-site #navbarCollapse {
  border-color: #334155;
  background-color: #111827;
}

body.ness-site .submenu {
  border: 1px solid #e5e7eb;
  overflow: hidden;
}

html.dark body.ness-site .submenu {
  border-color: #334155;
  background: #111827;
  box-shadow: 0 18px 45px rgba(0, 0, 0, .38);
}

body.ness-site .submenu-item.submenu-open > .submenu {
  display: block !important;
}

body.ness-site .submenu-toggle svg {
  transition: transform .2s ease;
}

body.ness-site .submenu-item.submenu-open > .submenu-toggle svg {
  transform: rotate(180deg);
}

html.dark body.ness-site input,
html.dark body.ness-site textarea,
html.dark body.ness-site select {
  color-scheme: dark;
}

html.dark body.ness-site .bg-gray-50 {
  background-color: #111827;
}

html.dark body.ness-site .shadow-lg,
html.dark body.ness-site .shadow-xl,
html.dark body.ness-site .shadow-2xl {
  box-shadow: 0 18px 45px rgba(0, 0, 0, .30);
}

body.ness-site footer a:focus-visible,
body.ness-site .ud-header a:focus-visible,
body.ness-site button:focus-visible {
  outline: 3px solid rgba(55, 88, 249, .55);
  outline-offset: 3px;
  border-radius: 4px;
}

@media (min-width: 1024px) {
  body.ness-site #navbarCollapse,
  html.dark body.ness-site #navbarCollapse {
    border: 0;
    background: transparent;
  }

  body.ness-site .submenu {
    min-width: 260px;
  }
}

@media (max-width: 1023px) {
  body.ness-site #navbarCollapse {
    margin-top: 10px;
    max-height: calc(100vh - 92px);
    overflow-y: auto;
  }

  body.ness-site .submenu {
    width: auto;
    margin: 4px 16px 8px;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.ness-site *,
  body.ness-site *::before,
  body.ness-site *::after {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
  }
}

body.ness-site .back-to-top:not(.hidden) { display: flex; }
