/**
 * Final WP visual sync — loads after all NJ CSS. Minimal, targeted fixes only.
 */

/* Typography stack matches Next.js globals.css + next/font */
:root {
  --font-inter: "Inter", system-ui, "Segoe UI", Arial, sans-serif;
  --font-oswald: "Oswald", "Arial Narrow", Arial, sans-serif;
  --font-orbitron: "Orbitron", "Arial Narrow", monospace;
  --font-main: var(--font-inter), Arial, sans-serif;
  --font-heading: var(--font-oswald), Arial, sans-serif;
  --font-neon: var(--font-orbitron), monospace;
  --font-button: var(--font-oswald), Arial, sans-serif;
  --global-body-font-family: var(--font-main);
  --global-heading-font-family: var(--font-heading);
  --global-button-font-family: var(--font-button);
}

html,
body {
  font-family: var(--font-main);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Header — icon-only contact links like NJ Header.tsx */
body:not(.dashboard-app-body) .header-actions .header-contact-link .header-contact-text,
body:not(.dashboard-app-body) .header-actions .header-contact-link .header-contact-icon {
  display: none;
}

body:not(.dashboard-app-body) .header-actions .header-contact-link {
  min-width: 0;
  width: var(--header-icon-size, 36px);
  height: var(--header-icon-size, 36px);
  padding: 0;
  justify-content: center;
}

body:not(.dashboard-app-body) .header-actions .header-contact-link svg {
  width: var(--header-icon-svg-size, 18px);
  height: var(--header-icon-svg-size, 18px);
}

/* Hide legacy globe language switch if any markup remains */
body:not(.dashboard-app-body) .language-switch-icon,
body:not(.dashboard-app-body) .language-switch-code {
  display: none !important;
}

/* Programs dropdown — desktop hover + click (see main.css .sub-menu) */
@media (min-width: 761px) {
  body:not(.dashboard-app-body) .main-navigation .menu-item-programs > .sub-menu {
    display: flex !important;
  }

  body:not(.dashboard-app-body) .main-navigation .menu-item-programs.is-submenu-open > .sub-menu,
  body:not(.dashboard-app-body) .main-navigation .menu-item-programs:focus-within > .sub-menu,
  body:not(.dashboard-app-body) .main-navigation .menu-item-programs:hover > .sub-menu {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translate(-50%, 0) !important;
  }
}

/* Prevent horizontal scroll from background rails */
html,
body:not(.dashboard-app-body) {
  overflow-x: hidden;
  max-width: 100%;
}

body:not(.dashboard-app-body) .site-page,
body:not(.dashboard-app-body) .site-main {
  overflow-x: clip;
  max-width: 100%;
}

/* Site logo sizing — match SiteLogo.tsx */
body:not(.dashboard-app-body) .site-logo .custom-logo {
  width: auto;
  height: auto;
  max-width: min(var(--site-logo-max-width-desktop, 152px), 100%);
  max-height: var(--site-logo-max-height-desktop, 20px);
  object-fit: contain;
}

@media (max-width: 1023px) {
  body:not(.dashboard-app-body) .site-logo .custom-logo {
    max-width: min(var(--site-logo-max-width-mobile, 120px), 100%);
  }
}

@media (max-width: 767px) {
  body:not(.dashboard-app-body) .site-logo .custom-logo {
    max-width: min(var(--site-logo-max-width-mobile, 112px), 100%);
  }
}

@media (max-width: 480px) {
  body:not(.dashboard-app-body) .site-logo .custom-logo {
    max-width: min(var(--site-logo-max-width-mobile, 100px), 100%);
  }
}
