/**
 * Nexon Brand Guideline 2026 — global tokens + header/nav alignment
 * Primary #0B3155 · Secondary #0AA0D2 · Type Poppins + Roboto
 */

:root,
.elementor-kit-5,
.elementor-location-header {
  --nx-nexon-blue: #0b3155;
  --nx-nexon-blue-light: #1a61a4;
  --nx-alfa-blue: #0aa0d2;
  --nx-alfa-blue-light: #69d9ff;
  --nx-charcoal: #333333;
  --nx-aspire-gray: #dddddd;
  --nx-bg-gray: #eeeeee;
  --nx-white: #ffffff;
  --nx-link-blue: #1391db;
  --nx-brand-gradient: linear-gradient(90deg, #0aa0d2 0%, #69d9ff 100%);
  --nx-font-display: "Poppins", sans-serif;
  --nx-font-body: "Roboto", sans-serif;
  /* Override stale Elementor kit-5 / VamTam tokens (#010ED0) */
  --e-global-color-vamtam_accent_1: #0b3155 !important;
  --e-global-color-vamtam_sticky_header_bg_color: #0b3155 !important;
  --vamtam-body-link-hover: #0b3155 !important;
  --vamtam-body-link-active: #0b3155 !important;
  --vamtam-menu-color-hover: #0b3155 !important;
  --vamtam-menu-color-active: #0b3155 !important;
}

/* Header shell */
.elementor-location-header {
  font-family: var(--nx-font-body) !important;
}

.elementor-location-header .elementor-nav-menu,
.elementor-location-header .elementor-widget-nav-menu {
  font-family: var(--nx-font-body) !important;
}

.elementor-location-header .elementor-nav-menu a,
.elementor-location-header .elementor-item {
  font-family: var(--nx-font-body) !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  color: var(--nx-charcoal) !important;
}

.elementor-location-header .elementor-nav-menu--main .elementor-item:hover,
.elementor-location-header .elementor-nav-menu--main .elementor-item:focus,
.elementor-location-header .elementor-nav-menu--main .elementor-item.elementor-item-active,
.elementor-location-header .elementor-item:hover,
.elementor-location-header .elementor-item.elementor-item-active {
  color: var(--nx-nexon-blue) !important;
  fill: var(--nx-nexon-blue) !important;
}

/* Reset theme button styling on non-CTA header controls (phone, icons, hamburger) */
.elementor-location-header .elementor-button {
  font-family: var(--nx-font-body) !important;
  background-image: none !important;
  background-color: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: var(--nx-charcoal) !important;
  font-weight: 400 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.elementor-location-header .elementor-button:hover,
.elementor-location-header .elementor-button:focus {
  background-image: none !important;
  background-color: transparent !important;
  color: var(--nx-nexon-blue) !important;
  filter: none !important;
}

/* Contact Us — primary header CTA only */
.elementor-location-header .elementor-element-2aa949c .elementor-button,
.elementor-location-header a.elementor-button[href*="contact"] {
  font-family: var(--nx-font-display) !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  background-image: var(--nx-brand-gradient) !important;
  background-color: transparent !important;
  border: 0 !important;
  border-radius: 999px !important;
  color: var(--nx-white) !important;
  box-shadow: 0 8px 20px rgba(10, 160, 210, 0.28) !important;
  padding: 12px 24px !important;
}

.elementor-location-header .elementor-element-2aa949c .elementor-button:hover,
.elementor-location-header a.elementor-button[href*="contact"]:hover {
  color: var(--nx-white) !important;
  filter: brightness(1.05);
}

/* Brand color logo */
.elementor-location-header .elementor-widget-theme-site-logo a,
.elementor-location-header .custom-logo-link {
  display: inline-flex !important;
  align-items: center !important;
  position: relative !important;
  min-width: 143px;
  min-height: 44px;
}

.elementor-location-header .elementor-widget-theme-site-logo img,
.elementor-location-header .custom-logo,
.elementor-location-header img.custom-logo {
  opacity: 0 !important;
  width: 143px !important;
  height: 44px !important;
  max-width: 143px !important;
  object-fit: contain !important;
}

.elementor-location-header .elementor-widget-theme-site-logo a::after,
.elementor-location-header .custom-logo-link::after {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--nx-logo-url) center / contain no-repeat;
  pointer-events: none;
}

/* Support phone / utility text */
.elementor-location-header .elementor-icon-list-text,
.elementor-location-header .elementor-heading-title {
  font-family: var(--nx-font-body) !important;
  color: var(--nx-charcoal) !important;
}

.elementor-location-header .elementor-icon-list-text:hover {
  color: var(--nx-nexon-blue) !important;
}

/* ── Footer — Brand Guideline 2026 (Poppins titles + Roboto body/links) ── */
.elementor-location-footer,
.main-footer,
footer.nx-footer,
.nx-footer,
.nx-footer.nx-footer--hostinger {
  --nx-font-display: "Poppins", sans-serif;
  --nx-font-body: "Roboto", sans-serif;
  font-family: var(--nx-font-body) !important;
  color: #333333 !important;
  -webkit-font-smoothing: antialiased;
}

/* Override stale kit link hover inside footer */
.elementor-location-footer,
.nx-footer,
.nx-footer.nx-footer--hostinger {
  --vamtam-body-link-hover: #0aa0d2 !important;
  --vamtam-body-link-active: #0aa0d2 !important;
}

/* Column titles — Poppins Bold uppercase */
.nx-footer .nx-footer__title,
.nx-footer h3.nx-footer__title,
.nx-footer.nx-footer--hostinger .nx-footer__title,
.nx-footer.nx-footer--hostinger h3.nx-footer__title,
.elementor-location-footer .elementor-heading-title,
.elementor-location-footer h3,
.elementor-location-footer h4 {
  font-family: var(--nx-font-display) !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 24px !important;
  letter-spacing: normal !important;
  text-transform: uppercase !important;
  color: #18181a !important;
}

/* Footer nav / column links — Roboto 14px */
.nx-footer .nx-footer__col a,
.nx-footer.nx-footer--hostinger .nx-footer__col a,
.elementor-location-footer .elementor-nav-menu a,
.elementor-location-footer .elementor-icon-list-text {
  font-family: var(--nx-font-body) !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 20px !important;
  color: #18181a !important;
  text-decoration: none !important;
  font-style: normal !important;
}

.nx-footer .nx-footer__col a:hover,
.nx-footer.nx-footer--hostinger .nx-footer__col a:hover,
.elementor-location-footer .elementor-nav-menu a:hover,
.elementor-location-footer a:hover {
  color: #0aa0d2 !important;
}

/* Copyright — Roboto 14px */
.nx-footer .nx-footer__copy,
.nx-footer.nx-footer--hostinger .nx-footer__copy,
.elementor-location-footer .nx-footer__copy {
  font-family: var(--nx-font-body) !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 20px !important;
  color: #333333 !important;
  font-style: normal !important;
}

/* Legal / misc links — Roboto Italic + Link Blue (#1391DB) */
html body footer.nx-footer.nx-footer--hostinger .nx-footer__legal a,
html body .elementor-location-footer footer.nx-footer .nx-footer__legal a,
.nx-footer .nx-footer__legal a,
.nx-footer.nx-footer--hostinger .nx-footer__legal a {
  font-family: var(--nx-font-body) !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  font-style: italic !important;
  line-height: 20px !important;
  color: #1391db !important;
  text-decoration: none !important;
  transition: color 0.25s ease;
}

html body footer.nx-footer.nx-footer--hostinger .nx-footer__legal a:hover,
html body .elementor-location-footer footer.nx-footer .nx-footer__legal a:hover,
.nx-footer .nx-footer__legal a:hover,
.nx-footer.nx-footer--hostinger .nx-footer__legal a:hover {
  color: #0aa0d2 !important;
}

/* Social icons */
.nx-footer .nx-footer__social a,
.nx-footer.nx-footer--hostinger .nx-footer__social a {
  font-family: var(--nx-font-body) !important;
  color: #18181a !important;
}

.nx-footer .nx-footer__social a:hover,
.nx-footer.nx-footer--hostinger .nx-footer__social a:hover {
  color: #0aa0d2 !important;
  background: rgba(10, 160, 210, 0.12) !important;
}

/* Elementor footer widgets fallback */
.elementor-location-footer p,
.elementor-location-footer li,
.elementor-location-footer span,
.elementor-location-footer .elementor-widget-text-editor {
  font-family: var(--nx-font-body) !important;
  font-size: 14px !important;
  color: #333333 !important;
}

.elementor-location-footer .elementor-button {
  font-family: var(--nx-font-display) !important;
}

/* Block old accent bleed (#010ED0) in footer */
.elementor-location-footer a:hover,
.elementor-location-footer a:focus,
.nx-footer a:hover,
.nx-footer a:focus {
  color: #0aa0d2 !important;
}

.nx-footer .nx-footer__legal a:hover,
.nx-footer.nx-footer--hostinger .nx-footer__legal a:hover {
  color: #0aa0d2 !important;
}
