/* Adaptive classic header: structural rules take precedence over saved template sizes. */
body.header-compact #header2 .item3 {
      display: none !important;
    }
body.header-compact #header {
      display: none !important;
    }
body.header-compact #header2 {
      width: 100% !important;
    }
body.header-compact #header2 .item2 { grid-area: logo !important; }
body.header-compact #header2 .burgerr { grid-area: menuu !important; }
body.header-compact #header2 .item4 { grid-area: navnav !important; }
body.header-compact #header2 {
      display: grid !important;
      max-width: 100% !important;
      height: 120px !important;
      position: fixed !important;
      top: 0 !important;
      grid-template-areas:
        'logo navnav menuu' !important;
      background-color: #333;
      justify-content: space-between !important;
      z-index: 99999999999 !important;
    }
body.header-compact #header2 #buttonsm {
      display: inline-block !important;
      font-size: 10px !important;
      border: 2px rgb(187, 187, 187) !important;
      background-color: rgb(194, 194, 194);
      color: black;
      padding: 10px 30px !important;
      border-radius: 45px !important;
      min-width: 0px !important;
      margin-right: 150px !important;
    }
body.header-compact #header2 .nav-nav {
      padding: 0 !important;
      margin: 0 !important;
      padding-top: 0px !important;
      display: inline-block !important;
      align-items:center !important;
      justify-content: space-between !important;
    }
body.header-compact #header2 .nav-lang {
      display:absolute !important;
      padding-top: 0px !important;
      align-items: center !important;
    }
body.header-compact #header2 .nav-lang a {
      justify-content: space-between !important;
      align-items: center !important;
      margin-left: 22px !important;
    }
body.header-compact #header2 .nav-nav a {
      margin-top: 10px !important;
      display: inline-block !important;
      text-decoration: none !important;
      color: #fff;
      border-bottom:2px solid transparent !important;
      transition:0.5s ease !important;
      transform: translateX(0%) !important;
    }
body.header-compact #header2 .nav-nav a:hover {
      color:#b9b9b9;
      letter-spacing: 0.4px !important;
    }
body.header-compact #header2 .nav-link {
      justify-content:start !important;
      position: absolute !important;
      right: 0 !important;
      top:110px !important;
      min-height:92vh !important;
      background: #333;
      display: flex !important;
      flex-direction: column !important;
      align-items:center !important;
      width:50% !important;
      margin: 0 !important;
      padding: 0 !important;
      padding-right: 60px !important;
      transform: translateX(100%) !important;
    }
body.header-compact #header2 .nav-link a {
      text-decoration: none !important;
      font-size: 16px !important;
      color: #fff;
      margin-left: 60px !important;
      align-items: center !important;
      margin-bottom: 20px !important;
      opacity: 0 !important;
    }
body.header-compact #header2 .nav-link a:hover {
      color:#b9b9b9;
      letter-spacing: 0.4px !important;
    }
body.header-compact #header2 .gflag {
      margin-bottom: 0px !important;
    }
body.header-compact #header2 .burgerr {
      display: block !important;
      padding-top: 40px !important;
    }
body.header-compact #header2 {
    height: 120px !important;
  }
body.header-compact #header2 .nav-link {
    position: fixed !important;
    inset: 0 !important;
    width: 100vw !important;
    max-width: none !important;
    height: 100dvh !important;
    min-height: 100vh !important;
    padding: clamp(95px, 14vh, 135px) 20px 36px !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 0 !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
    background: #333;
    transform: translateX(100%) !important;
    transition: transform 0.35s ease !important;
    z-index: 100000000000 !important;
  }
body.header-compact #header2 .nav-link.nav-active {
    transform: translateX(0) !important;
  }
body.header-compact #header2 .nav-link a {
    width: auto !important;
    min-width: 0 !important;
    margin: 0 0 18px !important;
    padding: 0 !important;
    display: block !important;
    text-align: center !important;
    font-size: clamp(20px, 5.3vw, 29px) !important;
    line-height: 1.25 !important;
    color: #fff;
    opacity: 0 !important;
  }
body.header-compact #header2 .nav-link a.button {
    width: min(78vw, 410px) !important;
    margin-top: 12px !important;
    margin-bottom: 26px !important;
    padding: 13px 24px !important;
    border-radius: 45px !important;
    background: #c2c2c2;
    color: #fff;
    font-size: clamp(20px, 5vw, 27px) !important;
  }
body.header-compact #header2 .nav-link a.telephoneheader,
body.header-compact #header2 .nav-link #telephoneheader {
    width: auto !important;
    margin: 0 !important;
    padding: 8px 0 24px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    font-size: clamp(18px, 4.6vw, 25px) !important;
    white-space: nowrap !important;
  }
body.header-compact #header2 .nav-link .telephoneheader img,
body.header-compact #header2 .nav-link #telephoneheader img {
    flex: 0 0 auto !important;
    width: 24px !important;
    height: 24px !important;
  }
body.header-compact #header2 .burgerr {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    z-index: 9999999999 !important;
  }
body.header-compact.mobile-menu-open {
    overflow: hidden !important;
    touch-action: none !important;
  }
body.header-compact.mobile-menu-open .burgerr {
    position: fixed !important;
    top: 22px !important;
    right: 14px !important;
    padding-top: 0 !important;
    z-index: 100000000001 !important;
  }

body.header-compact #header { display: none !important; }
body:not(.header-compact) #header2 { display: none !important; }
body.header-compact #header2 {
  grid-template-columns: auto minmax(0, 1fr) auto !important;
  grid-template-rows: auto !important;
  align-items: center !important;
}
body.header-compact #header2 .item4 { min-width: 0 !important; justify-self: center !important; }
body.header-compact #header2 .nav-nav {
  display: flex !important; align-items: center !important;
  justify-content: center !important; gap: clamp(12px, 9vw, 150px) !important;
}
body.header-compact #header2 #buttonsm { margin-right: 0 !important; }
body.header-compact #header2 .nav-nav .telephoneheader { white-space: nowrap !important; }
body.header-compact #header2 .burgerr { padding-top: 0 !important; cursor: pointer; }
body.header-compact #header2 .nav-link { visibility: hidden !important; }
body.header-compact #header2 .nav-link.nav-active { visibility: visible !important; }
body.header-compact #header2 .nav-link > a { flex-shrink: 0 !important; }
body.header-compact #header2 .logo img { max-width: 90px !important; max-height: 110px !important; object-fit: contain !important; }
body.header-compact #header2 .nav-link > a[style*="display: none"] { display: none !important; }
body.header-compact.mobile-menu-open { touch-action: auto !important; }
body.header-measuring #header {
  display: grid !important; visibility: hidden !important; pointer-events: none !important;
}
body.header-measuring #header .item2 { min-width: 0 !important; }
@media (max-width: 640px) {
  body.header-compact #header2 .nav-nav { gap: 9px !important; }
  body.header-compact #header2 .telephoneheader { font-size: 12px !important; }
  body.header-compact #header2 #buttonsm { font-size: 10px !important; padding: 8px 14px !important; }
}
@media (max-width: 460px) {
  body.header-compact #header2 .nav-nav { flex-direction: column !important; gap: 2px !important; }
  body.header-compact #header2 .nav-nav a { margin-top: 3px !important; }
  body.header-compact #header2 .logo img { max-width: 64px !important; max-height: 90px !important; }
  body.header-compact #header2 .select2 { width: 145px; padding: 10px; }
  body.header-compact #header2 .nav-link { padding-top: 95px !important; }
}

/* Country flags are decorative; the translated label names each language. */
#header .language-flag, #header2 .language-flag {
  display: inline-block !important; width: 20px !important; height: 20px !important;
  min-width: 20px; max-width: none; object-fit: contain; vertical-align: middle;
  margin: 0 7px 0 0; opacity: 1 !important; visibility: visible !important;
}
#header .selected a, #header2 .selected2 a { display: inline-flex; align-items: center; white-space: nowrap; }
#header .menu li, #header2 .menu2 li { display: flex; align-items: center; }
#header [data-language-control]:focus-visible, #header2 [data-language-control]:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
body.header-compact #header2 .nav-link.nav-active > a { opacity: 1 !important; }

/* The menu palette is editable; individual link styles still take precedence. */
body.header-compact #header2 .nav-link > a,
body.header-compact #header2 .nav-link > a > .site-edit-text {
  color: var(--main-menu-color, var(--chrome-menu-color, #fff));
}

body.header-compact #header2 .nav-link > a,
body.header-compact #header2 .nav-link > a > .site-edit-text {
  font-size: var(--main-menu-font-size, clamp(20px, 5.3vw, 29px)) !important;
}

/* Optional scroll color, saved independently of the normal header background. */
#header#header#header.header-scrolled.header-scroll-color,
#header2#header2#header2.header-scrolled.header-scroll-color {
  background-color: var(--header-scroll-background) !important;
}

#header [data-language-control] > .selected,
#header2 [data-language-control] > .selected2 { min-width:0; flex:1; }
#header [data-language-control] .language-flag,
#header2 [data-language-control] .language-flag { flex-shrink:0; }
#header [data-language-control] > .caret,
#header2 [data-language-control] > .caret2 { flex-shrink:0; margin-left:8px; }

/* Layout safeguards for all three header families. Saved dimensions remain
   editable, but navigation must stay in its row or in a scrollable dropdown. */
#header#header#header#header.site-light-header .light-page-menu,
#header#header#header#header.home-modern-header .home-desktop-nav {
  width:auto!important;min-width:0!important;max-width:100%!important;height:auto!important;
  min-height:0!important;flex-wrap:nowrap!important;align-items:center!important;
  padding-block:0!important;
}
#header#header#header#header.site-light-header .light-page-menu>a,
#header#header#header#header.home-modern-header .home-desktop-nav>a {
  flex-shrink:0!important;white-space:nowrap!important;
}
/* Page order and spacing belong to the menu flow. Old per-label dragging
   offsets cannot safely survive adding pages, translating or resizing. */
#header#header#header#header :is(.light-page-menu,.home-desktop-nav) > a,
#header#header#header#header :is(.light-page-menu,.home-desktop-nav) > a .site-edit-text {
  position:static!important;translate:none!important;transform:none!important;rotate:none!important;scale:none!important;
}
#header#header#header#header.site-light-header[data-menu-overflow=true] .light-navigation {
  position:static!important;translate:none!important;transform:none!important;
  rotate:none!important;scale:none!important;width:auto!important;height:auto!important;
  min-width:0!important;flex:1 1 auto!important;
}
#header#header#header#header.site-light-header[data-menu-overflow=true] .light-menu-toggle {display:flex!important;flex-shrink:0!important;}
#header#header#header#header.site-light-header[data-menu-overflow=true] .light-page-menu {
  display:none!important;position:absolute!important;inset:100% 12px auto auto!important;
  width:340px!important;max-width:calc(100vw - 24px)!important;
  height:auto!important;min-height:0!important;
  max-height:calc(100dvh - var(--light-header-height,116px) - 12px)!important;
  overflow:auto!important;padding:12px!important;margin:0!important;gap:6px!important;
  translate:none!important;transform:none!important;rotate:none!important;scale:none!important;
  grid-template-columns:minmax(0,1fr)!important;grid-auto-rows:max-content!important;
  align-items:stretch!important;align-content:start!important;justify-content:stretch!important;
}
#header#header#header#header.site-light-header[data-menu-overflow=true].light-menu-open .light-page-menu {display:grid!important;}
#header#header#header#header.site-light-header[data-menu-overflow=true] .light-page-menu>a {
  width:auto!important;height:auto!important;min-height:0!important;max-height:none!important;
  margin:0!important;padding:12px 16px!important;white-space:normal!important;overflow-wrap:anywhere!important;
}
#header#header#header#header.site-light-header[data-menu-overflow=true] .light-page-menu>a,
#header#header#header#header.site-light-header[data-menu-overflow=true] .light-page-menu .site-edit-text {
  position:static!important;translate:none!important;transform:none!important;rotate:none!important;scale:none!important;
}
/* Modern headers need the same overflow behavior above their mobile breakpoint. */
#header#header#header#header.home-modern-header {box-sizing:border-box;overflow:visible!important;}
#header#header#header#header.home-modern-header[data-menu-overflow=true] .home-desktop-nav {display:none!important;}
#header#header#header#header.home-modern-header[data-menu-overflow=true] .home-mobile-menu {display:block!important;}
#header.home-modern-header .home-mobile-menu summary {
  font:24px/1 Arial,sans-serif;list-style:none;cursor:pointer;padding:10px;min-width:44px;min-height:44px;
}
#header#header#header#header.home-modern-header .home-mobile-menu>nav {
  position:absolute!important;inset:100% 0 auto!important;display:flex;flex-direction:column!important;
  width:auto!important;height:auto!important;margin:0!important;padding:20px!important;gap:8px!important;
  background:#fff;color:#243f43;box-shadow:0 16px 24px #18333715;
  max-height:70dvh!important;overflow:auto!important;
  translate:none!important;transform:none!important;
}
#header#header#header#header.home-modern-header .home-mobile-menu>nav a {
  padding:12px!important;white-space:normal!important;overflow-wrap:anywhere!important;
  width:auto!important;height:auto!important;margin:0!important;
}
#header#header#header#header.home-modern-header .home-mobile-menu>nav a,
#header#header#header#header.home-modern-header .home-mobile-menu>nav .site-edit-text {
  position:static!important;translate:none!important;transform:none!important;
}
#header.home-modern-header .home-languages nav {max-height:70dvh;overflow:auto;max-width:calc(100vw - 24px);}

/* Classic mobile actions must stay inside their grid cell at width presets. */
body.header-compact #header2#header2#header2#header2 .nav-nav>a,
body.header-compact #header2#header2#header2#header2 .nav-nav .site-edit-text,
body.header-compact #header2#header2#header2#header2 .nav-link>a,
body.header-compact #header2#header2#header2#header2 .nav-link .site-edit-text {
  position:static!important;translate:none!important;transform:none!important;rotate:none!important;scale:none!important;
}
body.header-compact #header2#header2#header2#header2 .nav-nav>.telephoneheader {
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  gap:4px!important;line-height:20px!important;
}
body.header-compact #header2#header2#header2#header2 .nav-nav>.telephoneheader img {
  width:18px!important;height:18px!important;flex:0 0 18px!important;
}

/* Every language remains reachable when more languages are enabled. */
#header#header#header#header .menu,
#header2#header2#header2#header2 .menu2 {
  height:auto!important;max-height:calc(100dvh - 144px)!important;
  max-width:calc(100vw - 24px)!important;overflow-y:auto!important;overscroll-behavior:contain;
}
#header#header#header#header.site-light-header .light-language-menu {
  max-height:calc(100dvh - var(--light-header-height,116px) - 24px)!important;overflow:auto!important;
}
#header#header#header#header.home-modern-header .home-languages nav {
  max-height:70dvh!important;overflow:auto!important;
}
@media(max-width:600px) {
  #header#header#header#header.site-light-header .light-language {position:static!important;}
  #header#header#header#header.site-light-header .light-language-menu {
    position:absolute!important;inset:100% 12px auto auto!important;
    width:205px;max-width:calc(100vw - 24px)!important;translate:none!important;transform:none!important;
  }
}
