/* Shared ORIS site header — full labels, no trim/overlap */

body.polso-page,
body.smart-contact-page {
  overflow-x: clip;
}

/* POLSO — tighter gutters, wider content column */
body.polso-page {
  --page-gutter: 1.25rem;
  --polso-container: 1400px;
  padding-top: 0 !important;
}

@media (min-width: 640px) {
  body.polso-page {
    --page-gutter: 1.5rem;
  }
}

@media (min-width: 1024px) {
  body.polso-page {
    --page-gutter: 2rem;
  }
}

@media (min-width: 1280px) {
  body.polso-page {
    --page-gutter: 2.5rem;
  }
}

@media (min-width: 1536px) {
  body.polso-page {
    --page-gutter: 3rem;
  }
}

/* Smart Contact — original wider side margins */
body.smart-contact-page {
  --page-gutter: 2.5rem;
}

@media (min-width: 640px) {
  body.smart-contact-page {
    --page-gutter: 4rem;
  }
}

@media (min-width: 1024px) {
  body.smart-contact-page {
    --page-gutter: 5.5rem;
  }
}

@media (min-width: 1280px) {
  body.smart-contact-page {
    --page-gutter: 8rem;
  }
}

@media (min-width: 1536px) {
  body.smart-contact-page {
    --page-gutter: 8.5rem;
  }
}

/* POLSO + Smart Contact — navbar + sections share the same horizontal gutters */
body.polso-page .site-header > div,
body.smart-contact-page .site-header > div,
body.polso-page .site-header #mobile-menu > div,
body.smart-contact-page .site-header #mobile-menu > div {
  max-width: var(--polso-container, 1280px) !important;
  width: 100%;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: var(--page-gutter) !important;
  padding-right: var(--page-gutter) !important;
  box-sizing: border-box;
}

body.polso-page .polso-wrap,
body.smart-contact-page .sc-wrap {
  max-width: var(--polso-container, 1280px) !important;
  width: 100%;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: var(--page-gutter) !important;
  padding-right: var(--page-gutter) !important;
  box-sizing: border-box;
}

.site-header .site-header-bar {
  position: relative;
}

@media (min-width: 1280px) {
  body.polso-page .site-header .site-header-bar,
  body.smart-contact-page .site-header .site-header-bar {
    --header-item-gap: 1.125rem;
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: center;
    gap: var(--header-item-gap);
    overflow: visible;
  }

  body.polso-page .site-header .site-header-bar > :first-child,
  body.smart-contact-page .site-header .site-header-bar > :first-child {
    flex-shrink: 0;
    margin-right: 0;
    position: relative;
    z-index: 2;
  }

  body.polso-page .site-header .header-desktop-actions,
  body.smart-contact-page .site-header .header-desktop-actions {
    margin-left: 0;
    flex-shrink: 0;
    gap: var(--header-item-gap);
    position: relative;
    z-index: 2;
  }
}

.site-header .header-nav-link {
  white-space: nowrap;
  flex-shrink: 0 !important;
  min-width: auto;
  overflow: visible;
  text-overflow: clip;
  font-size: 0.8125rem;
  line-height: 1.25rem;
}

/* Override external landing-page nav rules on POLSO + Smart Contact */
body.polso-page .site-header .header-nav-link,
body.smart-contact-page .site-header .header-nav-link {
  flex-shrink: 0 !important;
  min-width: auto !important;
  overflow: visible !important;
  text-overflow: clip !important;
}

body.polso-page .site-header .header-nav-link > span:not([class*="absolute"]),
body.smart-contact-page .site-header .header-nav-link > span:not([class*="absolute"]) {
  display: inline !important;
  max-width: none !important;
  overflow: visible !important;
  text-overflow: clip !important;
}

body.polso-page .site-header .header-desktop-nav .header-nav-link,
body.smart-contact-page .site-header .header-desktop-nav .header-nav-link {
  padding-left: 0.375rem;
  padding-right: 0.375rem;
  position: relative;
  z-index: 1;
}

.site-header .header-nav-link > span:not([class*="absolute"]) {
  display: inline;
  max-width: none;
  overflow: visible;
  text-overflow: clip;
  white-space: nowrap;
  vertical-align: middle;
}

@media (min-width: 1536px) {
  .site-header .header-nav-link {
    font-size: 0.9375rem;
  }
}

.site-header #company-dropdown-btn {
  white-space: nowrap;
  flex-shrink: 0;
  font-size: 0.8125rem;
  line-height: 1.25rem;
}

@media (min-width: 1536px) {
  .site-header #company-dropdown-btn {
    font-size: 0.875rem;
  }
}

/* Desktop nav — xl+ only so items never squeeze */
.site-header .header-desktop-nav {
  display: none;
}

@media (min-width: 1280px) {
  .site-header .header-desktop-nav {
    display: flex;
    flex: 1 1 auto;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    min-width: 0;
    margin-left: 0.25rem;
    margin-right: 0.25rem;
  }

  /* POLSO + Smart Contact — logo + nav + actions clustered with equal gaps */
  body.polso-page .site-header .header-desktop-nav,
  body.smart-contact-page .site-header .header-desktop-nav {
    flex: 0 0 auto;
    justify-content: center;
    flex-wrap: nowrap;
    width: max-content;
    max-width: none;
    min-width: 0;
    gap: var(--header-item-gap, 1.125rem);
    margin-left: 0;
    margin-right: 0;
    padding-left: 0;
    padding-right: 0;
    overflow: visible;
  }

  body.polso-page .site-header .header-desktop-nav > *,
  body.smart-contact-page .site-header .header-desktop-nav > * {
    flex-shrink: 0 !important;
  }

  body.polso-page .site-header .header-desktop-nav > .header-nav-link:first-child,
  body.smart-contact-page .site-header .header-desktop-nav > .header-nav-link:first-child {
    margin-left: 0;
    padding-left: 0.375rem;
  }

  body.polso-page .site-header #company-dropdown-wrap,
  body.smart-contact-page .site-header #company-dropdown-wrap {
    margin-left: 0;
    flex-shrink: 0 !important;
  }
}

@media (min-width: 1280px) and (max-width: 1535px) {
  body.polso-page .site-header .site-header-bar,
  body.smart-contact-page .site-header .site-header-bar {
    --header-item-gap: 1rem;
  }

  body.polso-page .site-header .header-desktop-nav,
  body.smart-contact-page .site-header .header-desktop-nav {
    gap: var(--header-item-gap);
  }

  body.polso-page .site-header .header-desktop-nav .header-nav-link,
  body.smart-contact-page .site-header .header-desktop-nav .header-nav-link,
  body.polso-page .site-header #company-dropdown-btn,
  body.smart-contact-page .site-header #company-dropdown-btn {
    font-size: 0.75rem;
  }

  body.polso-page .site-header .site-header-bar > :first-child .text-2xl,
  body.smart-contact-page .site-header .site-header-bar > :first-child .text-2xl,
  body.polso-page .site-header .site-header-bar > :first-child span.font-bold,
  body.smart-contact-page .site-header .site-header-bar > :first-child span.font-bold {
    font-size: 1.125rem !important;
    line-height: 1.35rem;
  }

  body.polso-page .site-header .site-header-bar > :first-child img,
  body.smart-contact-page .site-header .site-header-bar > :first-child img {
    width: 1.375rem;
    height: 1.375rem;
  }
}

@media (min-width: 1536px) {
  body.polso-page .site-header .site-header-bar,
  body.smart-contact-page .site-header .site-header-bar {
    --header-item-gap: 1.25rem;
  }

  body.polso-page .site-header .header-desktop-nav,
  body.smart-contact-page .site-header .header-desktop-nav,
  body.polso-page .site-header .header-desktop-actions,
  body.smart-contact-page .site-header .header-desktop-actions {
    gap: var(--header-item-gap);
  }

  .site-header .header-desktop-nav {
    gap: 1rem;
  }
}

.site-header .header-desktop-actions {
  display: none;
}

@media (min-width: 1280px) {
  .site-header .header-desktop-actions {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-shrink: 0;
  }
}

@media (min-width: 1536px) {
  .site-header .header-desktop-actions {
    gap: 0.75rem;
  }
}

.site-header .header-mobile-actions {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  flex-shrink: 0;
}

@media (min-width: 640px) {
  .site-header .header-mobile-actions {
    gap: 0.5rem;
  }
}

@media (min-width: 1280px) {
  .site-header .header-mobile-actions {
    display: none;
  }
}

.site-header .header-cta-btn {
  white-space: nowrap;
}

@media (min-width: 1280px) and (max-width: 1535px) {
  .site-header .header-cta-btn {
    padding-left: 1rem;
    padding-right: 1rem;
    font-size: 0.875rem;
  }

  .site-header .header-cta-btn svg {
    width: 1rem;
    height: 1rem;
  }

  .site-header #theme-toggle {
    width: 2.5rem;
    height: 2.5rem;
  }

  .site-header #lang-btn {
    padding-left: 0.625rem;
    padding-right: 0.625rem;
    font-size: 0.8125rem;
  }
}

.site-header #mobile-menu {
  max-height: min(80vh, 32rem);
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

.site-header #mobile-menu a,
.site-header #mobile-menu button {
  white-space: normal;
  word-break: break-word;
}

/* Light theme — company dropdown */
html.theme-light .site-header #company-dropdown-btn {
  background: #ffffff !important;
  border-color: #e2e8f0 !important;
  color: #2563eb !important;
}

html.theme-light .site-header #company-dropdown-btn:hover {
  background: #f8fafc !important;
  border-color: #2563eb !important;
}

html.theme-light .site-header #company-dropdown-chevron {
  color: #64748b !important;
}

html.theme-light .site-header #company-dropdown {
  background: #ffffff !important;
  border-color: #e2e8f0 !important;
}

html.theme-light .site-header #company-dropdown .company-nav-link {
  color: #0f172a !important;
}

html.theme-light .site-header #company-dropdown .company-nav-link:hover {
  background: #f1f5f9 !important;
  color: #2563eb !important;
}

html.theme-light .site-header #company-dropdown .company-nav-link svg {
  color: #64748b !important;
}

html.theme-light .site-header #company-dropdown .company-nav-link:hover svg {
  color: #2563eb !important;
}

/* Light theme — language selector (POLSO + Smart Contact) */
html.theme-light body.polso-page .site-header #lang-btn,
html.theme-light body.polso-page .site-header #lang-btn-mobile,
html.theme-light body.smart-contact-page .site-header #lang-btn,
html.theme-light body.smart-contact-page .site-header #lang-btn-mobile {
  color: #5b6b82 !important;
  border-color: #dbe4f0 !important;
}

html.theme-light body.polso-page .site-header #lang-current,
html.theme-light body.polso-page .site-header #lang-current-mobile,
html.theme-light body.smart-contact-page .site-header #lang-current,
html.theme-light body.smart-contact-page .site-header #lang-current-mobile {
  color: #0f2744 !important;
}

html.theme-light body.polso-page .site-header #lang-btn svg,
html.theme-light body.polso-page .site-header #lang-btn-mobile svg,
html.theme-light body.smart-contact-page .site-header #lang-btn svg,
html.theme-light body.smart-contact-page .site-header #lang-btn-mobile svg {
  color: #5b6b82 !important;
}

html.theme-light body.polso-page .site-header #lang-btn:hover,
html.theme-light body.polso-page .site-header #lang-btn-mobile:hover,
html.theme-light body.smart-contact-page .site-header #lang-btn:hover,
html.theme-light body.smart-contact-page .site-header #lang-btn-mobile:hover {
  color: #2563eb !important;
  border-color: #2563eb !important;
}

html.theme-light body.polso-page .site-header #lang-dropdown,
html.theme-light body.smart-contact-page .site-header #lang-dropdown {
  background: #ffffff !important;
  border-color: #dbe4f0 !important;
}

html.theme-light body.polso-page .site-header #lang-dropdown button,
html.theme-light body.smart-contact-page .site-header #lang-dropdown button {
  color: #0f2744 !important;
}

html.theme-light body.polso-page .site-header #lang-dropdown button:hover,
html.theme-light body.smart-contact-page .site-header #lang-dropdown button:hover {
  background: #f1f5f9 !important;
  color: #2563eb !important;
}

/* Dark theme — language selector (POLSO + Smart Contact) */
html.theme-dark body.polso-page .site-header #lang-btn,
html.theme-dark body.polso-page .site-header #lang-btn-mobile,
html.theme-dark body.smart-contact-page .site-header #lang-btn,
html.theme-dark body.smart-contact-page .site-header #lang-btn-mobile {
  color: #94a3b8 !important;
  border-color: rgba(148, 163, 184, 0.2) !important;
}

html.theme-dark body.polso-page .site-header #lang-current,
html.theme-dark body.polso-page .site-header #lang-current-mobile,
html.theme-dark body.smart-contact-page .site-header #lang-current,
html.theme-dark body.smart-contact-page .site-header #lang-current-mobile {
  color: #e2e8f0 !important;
}

html.theme-dark body.polso-page .site-header #lang-btn svg,
html.theme-dark body.polso-page .site-header #lang-btn-mobile svg,
html.theme-dark body.smart-contact-page .site-header #lang-btn svg,
html.theme-dark body.smart-contact-page .site-header #lang-btn-mobile svg {
  color: #94a3b8 !important;
}
