/* ====================================================================
   UCALP Navigation - Shared Base
   Tokens, resets and structural shell reused by navigation modules.
   ==================================================================== */

:root {
  --ucalp-azul: #005EB8;
  --ucalp-azul-950: #003a72;
  --ucalp-azul-900: #004b92;
  --ucalp-azul-700: #005eb8;
  --ucalp-azul-100: #dff6fd;
  --ucalp-azul-50: #f2fcff;
  --ucalp-celeste: #3ec0f0;
  --ucalp-celeste-100: #def7ff;
  --ucalp-white: #ffffff;
  --ucalp-bg: #ffffff;
  --ucalp-bg-soft: #f5f7f1;
  --ucalp-cream: #EBEEE2;
  --ucalp-text: #000000;
  --ucalp-text-2: #222222;
  --ucalp-text-3: #555555;
  --ucalp-border: #D1D1C7;
  --ucalp-shadow-sm: 0 1px 3px rgba(31, 31, 28, .04), 0 1px 2px rgba(31, 31, 28, .03);
  --ucalp-shadow-md: 0 4px 8px -2px rgba(31, 31, 28, .06), 0 2px 4px -2px rgba(31, 31, 28, .04);
  --ucalp-shadow-xl: 0 12px 16px -4px rgba(31, 31, 28, .07), 0 4px 6px -2px rgba(31, 31, 28, .04);
  --ucalp-shadow-premium: 0 18px 45px rgba(0, 25, 50, .10), 0 2px 8px rgba(31, 31, 28, .05);
  --ucalp-radius: 12px;
  --ucalp-transition: 150ms cubic-bezier(.16, 1, .3, 1);
  --ucalp-h-utility: 40px;
  --ucalp-h-header: 72px;
  --ucalp-z-overlay: 9000;
  --ucalp-z-header: 900;
  --ucalp-z-panel: 800;
  --ucalp-logo-max-width: 420px;
  --ucalp-logo-max-height: 72px;
  --ucalp-font-primary: var(--font-body, 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif);
  --ucalp-font-alt: var(--font-heading, 'Inter', system-ui, -apple-system, sans-serif);
  --ucalp-font-serif: var(--font-serif, 'DM Serif Display', Georgia, serif);
}

.ucalp-nav-shell *,
.ucalp-nav-shell *::before,
.ucalp-nav-shell *::after {
  box-sizing: border-box;
}

.ucalp-nav-shell a,
.ucalp-nav-shell a:hover,
.ucalp-nav-shell a:focus,
.ucalp-nav-shell a:visited {
  color: inherit;
  text-decoration: none;
  border: none;
  border-color: transparent;
  box-shadow: none;
  background: transparent;
  outline: none;
}

.ucalp-nav-shell button,
.ucalp-nav-shell button:hover,
.ucalp-nav-shell button:focus {
  border-color: transparent;
  box-shadow: none;
  outline: none;
  background: transparent;
  color: inherit;
}

.ucalp-nav-sr {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.ucalp-nav-shell {
  font-family: var(--ucalp-font-primary);
  font-size: 16px;
  line-height: 1.5;
  color: var(--ucalp-text);
  position: sticky;
  top: 0;
  z-index: var(--ucalp-z-header);
  letter-spacing: 0;
}

.ucalp-nav-container {
  max-width: var(--ucalp-container-max-width, 1280px);
  margin-inline: auto;
  padding-inline: 15px;
}

.ucalp-nav-header > .ucalp-nav-container,
.ucalp-nav-utility > .ucalp-nav-container {
  padding-inline: clamp(16px, 4vw, 48px) !important;
}

.ucalp-nav-utility {
  background: var(--ucalp-azul-900);
  height: var(--ucalp-h-utility);
  font-size: 12px;
  font-family: var(--ucalp-font-alt);
  color: rgba(255, 255, 255, .65);
  overflow: hidden;
  transition: height var(--ucalp-transition), opacity var(--ucalp-transition);
}

.ucalp-nav-utility.is-hidden {
  height: 0;
  opacity: 0;
}

.ucalp-nav-utility-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 100%;
  gap: 8px;
}
