/* Reference navigation only. Header heights and all Banner rules stay intact. */
.header { z-index:900; --nav-unit:66px; }
.header .brand,.header .header-tools,.header .menu-button { z-index:2; }
.header .menu-button { position:relative; width:44px; height:44px; }
.header .menu-button::before,.header .menu-button::after { content:none!important; }
.header .menu-lines { display:block; position:relative; width:35px; height:30px; }
.header .menu-lines span { position:absolute; inset-inline-start:0; height:3px; background:currentColor; transition:width .3s,transform .3s,opacity .3s; }
.header .menu-lines span:nth-child(1) { top:3px; width:35px; }
.header .menu-lines span:nth-child(2) { top:13px; width:18px; }
.header .menu-lines span:nth-child(3) { top:23px; width:25px; }
.header .menu-button:hover .menu-lines span:nth-child(1) { width:25px; }
.header .menu-button:hover .menu-lines span:nth-child(3) { width:35px; }
.header .header-tools { gap:20px; }
.header .header-tools .icon { width:18px; height:18px; }
html.navigation-open,body.navigation-open { overflow:hidden; }
#main-navigation { position:fixed; inset:0; z-index:1; background:#fff; display:none; padding:calc(var(--nav-unit) * 2.5) 0 calc(var(--nav-unit) * 1.1); overflow:auto; overscroll-behavior:contain; gap:0; }
.header.menu-open #main-navigation { display:block; animation:navigation-reveal .35s ease both; }
#main-navigation .navigation-inner { position:relative; width:85%; max-width:1600px; margin:0 auto; min-height:calc(var(--nav-unit) * 6.23); }
#main-navigation .navigation-inner::before { content:''; position:absolute; inset-block:0; inset-inline-start:23.75%; border-inline-start:1px solid #d3d3d3; }
#main-navigation .nav-item { position:static; display:block; width:23.75%; height:auto; min-height:0; padding:0; border:0; }
#main-navigation .nav-link { display:block; width:auto; max-width:none; padding:0 20px 0 0; font-size:28px; line-height:2.44444444; font-weight:500; white-space:normal; }
#main-navigation .nav-link::after { display:none; }
#main-navigation .nav-item .nav-link { color:#222; }
#main-navigation .nav-item.desktop-selected .nav-link,#main-navigation .nav-link:hover { color:var(--cms-primary,#17813f); }
#main-navigation .submenu-toggle { display:none; }
#main-navigation .mega { position:absolute; inset:auto; inset-block-start:0; inset-inline-start:23.75%; width:38.4375%; height:calc(var(--nav-unit) * 4.67); max-height:none; margin:0; padding:calc(var(--nav-unit) * .6) calc(var(--nav-unit) * .3) 0 7.5%; display:none!important; visibility:visible; opacity:1; transform:none; border:0; border-radius:0; box-shadow:none; background:transparent; overflow-x:hidden; overflow-y:auto; scrollbar-width:thin; scrollbar-color:#d3d3d3 transparent; }
#main-navigation .nav-item.desktop-selected .mega { display:block!important; }
#main-navigation .mega::-webkit-scrollbar { width:3px; }
#main-navigation .mega::-webkit-scrollbar-thumb { background:#d3d3d3; }
#main-navigation .mega a { width:auto; min-height:0; padding:0; color:#333; font-size:18px; line-height:1.4; font-weight:400; }
#main-navigation .mega a:hover,#main-navigation .mega a:focus-visible { color:var(--cms-primary,#17813f); }
#main-navigation .mega-products a,#main-navigation .mega-simple a { display:block; padding:0 0 calc(var(--nav-unit) * .28); font-size:22px; }
#main-navigation .nav-group { margin:0 0 calc(var(--nav-unit) * .23); border:0; }
#main-navigation .nav-group h3 { display:flex; align-items:center; justify-content:flex-start; gap:10px; margin:0; min-height:44px; font-size:22px; line-height:1.25; font-weight:500; }
#main-navigation .nav-group h3 a { display:flex; align-items:center; gap:10px; font-size:inherit; font-weight:inherit; }
#main-navigation .nav-category-icon { flex:0 0 24px; width:24px; height:24px; object-fit:contain; }
#main-navigation .nav-group-toggle { flex:0 0 30px; min-height:44px; width:30px; padding:0; border:0; background:none; border-radius:0; font-size:19px; font-weight:400; color:#999; }
#main-navigation .nav-group ul { display:none!important; columns:1; list-style:none; margin:calc(var(--nav-unit) * .13) 0 0; padding:0; }
#main-navigation .nav-group.group-open ul { display:block!important; }
#main-navigation .nav-group li { position:relative; margin:0 0 calc(var(--nav-unit) * .2); padding:0; padding-inline-start:10px; }
#main-navigation .nav-group li::before { content:''; position:absolute; inset-inline-start:0; top:.62em; width:4px; height:4px; border-radius:50%; background:#888; }
#main-navigation .navigation-preview { position:absolute; inset-block-start:calc(var(--nav-unit) * .75); inset-inline-end:0; width:37.8125%; }
#main-navigation .navigation-preview-link { display:block; width:80.66115702%; aspect-ratio:1 / .6680327869; margin-inline-start:auto; border-radius:calc(var(--nav-unit) * .4); overflow:hidden; visibility:hidden; opacity:0; transition:opacity .2s; pointer-events:none; }
#main-navigation .navigation-preview-link.has-image { visibility:visible; opacity:1; pointer-events:auto; }
#main-navigation .navigation-preview img { display:block; width:100%; height:100%; object-fit:cover; }
#main-navigation .navigation-contact h3 { font-size:24px; margin:0 0 24px; }
#main-navigation .navigation-contact p { margin:0 0 15px; font-size:16px; line-height:1.6; overflow-wrap:anywhere; }
#main-navigation .navigation-contact p span { display:block; color:#888; font-size:14px; }
#main-navigation .navigation-contact .footer-offices { display:block; font-size:14px; }
#main-navigation .navigation-contact .footer-offices p { margin-top:12px; }
#main-navigation .navigation-contact a { font-size:16px; }
#main-navigation .mobile-admin-item { display:none; }
#main-navigation .navigation-close { position:fixed; inset-block-end:calc(var(--nav-unit) * .5); inset-inline-start:calc(50% - 22px); width:44px; height:44px; border:0; padding:0; background:none; cursor:pointer; }
#main-navigation .navigation-close span::before,#main-navigation .navigation-close span::after { content:''; position:absolute; left:9px; top:21px; width:26px; height:2px; background:#333; transform:rotate(45deg); }
#main-navigation .navigation-close span::after { transform:rotate(-45deg); }
#main-navigation a:focus-visible,#main-navigation button:focus-visible,.header .icon-button:focus-visible { outline:2px solid var(--cms-primary,#17813f); outline-offset:3px; }
#language-dialog,#search-dialog { position:fixed; inset:auto; top:79px; right:7.5%; margin:0; padding:0; max-width:calc(100vw - 30px); max-height:calc(100dvh - 90px); overflow:visible; border:0; box-shadow:0 0 38px #00000012; }
#language-dialog::backdrop,#search-dialog::backdrop { background:transparent; backdrop-filter:none; }
#language-dialog h2,#search-dialog h2,#language-dialog .modal-close,#search-dialog .modal-close { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
#language-dialog { right:calc(7.5% + 42px); width:128px; border-radius:7px; }
#language-dialog::before { content:''; position:absolute; top:-7px; right:10px; width:14px; height:14px; background:#fff; transform:rotate(45deg); }
#language-dialog .language-list { display:block; border-radius:7px; overflow:hidden; }
#language-dialog .language-list a { display:flex; justify-content:center; min-height:44px; padding:10px 8px; color:#666; font-size:14px; line-height:1.5; font-weight:400; border-bottom:1px solid #eee; }
#language-dialog .language-list a:last-child { border-bottom:0; }
#language-dialog .language-list a::after { content:none; }
#language-dialog .language-list a:hover,#language-dialog .language-list a[aria-current] { color:var(--cms-primary,#17813f); background:#f5f8f5; }
#search-dialog { top:15px; right:calc(7.5% + 100px); width:264px; border-radius:30px; background:#fff; box-shadow:none; }
#search-dialog .search-box { margin:0; gap:0; height:43px; border:1px solid #333; border-radius:30px; overflow:hidden; }
#search-dialog .search-box input { width:100%; min-width:0; padding:0 12px 0 20px; border:0; border-radius:0; background:transparent; outline-offset:-3px; font-size:14px; }
#search-dialog .search-box button { width:43px; min-width:43px; min-height:0; padding:0; border:0; border-radius:0; background:transparent; color:#222; font-size:0; }
#search-dialog .search-box button::before { content:''; display:block; width:18px; height:18px; margin:auto; background:url('/assets/nav-search.svg') center/contain no-repeat; }
#search-dialog .search-results { display:none; margin-top:10px; padding:0 15px; border-radius:10px; background:#fff; box-shadow:0 8px 30px #0002; max-height:60dvh; overflow:auto; }
#search-dialog.has-query .search-results { display:block; }
#search-dialog .search-results a { font-size:15px; padding:14px 0; }
#search-dialog .search-results .empty-message { padding:20px 0; font-size:14px; }
@keyframes navigation-reveal { from { opacity:0; transform:translateY(-12px); } to { opacity:1; transform:translateY(0); } }
@media(min-width:1581px) {
  .header { --nav-unit:calc(100vw / 19.2); }
  #main-navigation .nav-link { font-size:calc(var(--nav-unit) * .3); }
  #main-navigation .mega-products a,#main-navigation .mega-simple a,#main-navigation .nav-group h3 { font-size:24px; }
  #main-navigation .nav-group li a { font-size:20px; }
  #language-dialog { top:116px; }
  #search-dialog { top:33px; }
}
@media(min-width:1901px) { .header { --nav-unit:100px; } }
@media(max-width:1260px) {
  #main-navigation .navigation-inner { width:90%; }
  #main-navigation .nav-group h3,#main-navigation .mega-products a,#main-navigation .mega-simple a { font-size:18px; }
  #main-navigation .mega a { font-size:16px; }
  #language-dialog { right:calc(5% + 42px); }
  #search-dialog { right:calc(5% + 100px); }
}
/* Keep desktop columns centered; flexible breathing room yields to long menus. */
@media(min-width:992px) {
  #main-navigation {
    --desktop-menu-gutter:clamp(86px,10dvh,120px);
    --desktop-menu-height:calc(100dvh - 2 * var(--desktop-menu-gutter));
    padding-block:var(--desktop-menu-gutter);
    scrollbar-width:none;
  }
  #main-navigation .navigation-inner { display:flex; flex-direction:column; justify-content:center; height:var(--desktop-menu-height); min-height:var(--desktop-menu-height); }
  #main-navigation .nav-item { flex:0 0 auto; }
  #main-navigation .mega { height:var(--desktop-menu-height); padding-block:12px; gap:0; overflow-y:auto; scrollbar-width:none; }
  #main-navigation .nav-item.desktop-selected .mega { display:flex!important; flex-direction:column; }
  #main-navigation .mega::before,#main-navigation .mega::after { content:''; flex:1 0 0; }
  #main-navigation .mega > * { flex-shrink:0; }
  #main-navigation .navigation-preview { inset-block-start:50%; transform:translateY(-50%); }
  #main-navigation .nav-group { margin-block-end:8px; }
  #main-navigation .nav-group:last-child { margin-block-end:0; }
  #main-navigation .nav-group li { margin-block-end:10px; }
  #main-navigation::-webkit-scrollbar,#main-navigation .mega::-webkit-scrollbar { display:none; width:0; height:0; }
}
@media(min-width:992px) and (max-height:800px) {
  #main-navigation .mega { padding-block:4px; }
  #main-navigation .nav-group { margin-block-end:6px; }
  #main-navigation .nav-group h3 { min-height:36px; font-size:clamp(18px,1.45vw,20px); }
  #main-navigation .nav-group-toggle { min-height:36px; }
}
@media(max-width:991px) {
  .header .menu-lines { width:25px; height:25px; }
  .header .menu-lines span { height:2px; }
  .header .menu-lines span:nth-child(1) { top:3px; width:25px; }
  .header .menu-lines span:nth-child(2) { top:11px; width:15px; }
  .header .menu-lines span:nth-child(3) { top:19px; width:25px; }
  .header .menu-button:hover .menu-lines span:nth-child(1),.header .menu-button:hover .menu-lines span:nth-child(3) { width:25px; }
  .header.menu-open .menu-lines span:nth-child(1) { width:25px; transform:translateY(8px) rotate(45deg); }
  .header.menu-open .menu-lines span:nth-child(2) { opacity:0; }
  .header.menu-open .menu-lines span:nth-child(3) { width:25px; transform:translateY(-8px) rotate(-45deg); }
  .header .header-tools { gap:0; }
  .header .header-tools .icon-button { display:grid; width:36px; min-width:36px; height:44px; padding:0; }
  #main-navigation { inset:73px 0 0; padding:0; height:calc(100dvh - 73px); }
  #main-navigation .navigation-inner { width:100%; min-height:0; padding-bottom:35px; }
  #main-navigation .navigation-inner::before { content:none; }
  #main-navigation .nav-item { position:relative; width:100%; padding:0; border-bottom:1px solid #f1f1f1; }
  #main-navigation .nav-link { display:flex; align-items:center; min-height:66px; padding:14px 66px 14px 33px; font-size:14px; font-weight:400; line-height:1.6; }
  #main-navigation .nav-item.desktop-selected .nav-link { color:#222; background:transparent; }
  #main-navigation .submenu-toggle { position:absolute; top:0; inset-inline-end:19px; display:grid; place-items:center; width:44px; height:66px; margin:0; border:0; border-radius:0; background:none; font-size:0; color:#555; }
  #main-navigation .submenu-toggle::after,#main-navigation .nav-group-toggle::after { content:''; display:block; width:7px; height:7px; border-top:1px solid currentColor; border-right:1px solid currentColor; transform:rotate(45deg); transition:transform .2s; }
  #main-navigation [aria-expanded="true"]::after { transform:rotate(135deg); }
  #main-navigation .mega { position:static; inset:auto; width:100%; height:auto; padding:0; overflow:visible; display:none!important; }
  #main-navigation .nav-item.desktop-selected .mega { display:none!important; }
  #main-navigation .nav-item.mobile-open .mega { display:block!important; }
  #main-navigation .mega a { display:flex; align-items:center; min-height:66px; padding:14px 33px; font-size:14px; line-height:1.6; border-top:1px solid #f1f1f1; }
  #main-navigation .mega-products a,#main-navigation .mega-simple a { padding-inline-start:66px; font-size:14px; }
  #main-navigation .nav-group { margin:0; }
  #main-navigation .nav-group h3 { position:relative; margin:0; min-height:66px; font-size:14px; font-weight:400; gap:0; }
  #main-navigation .nav-group h3 a { flex:1; min-width:0; padding:14px 66px; font-size:14px; font-weight:400; }
  #main-navigation .nav-category-icon { display:none; }
  #main-navigation .nav-group-toggle { position:absolute; top:0; inset-inline-end:19px; display:grid; place-items:center; width:44px; min-height:66px; padding:0; background:none; font-size:0; color:#555; }
  #main-navigation .nav-group ul { margin:0; padding:0; columns:1; }
  #main-navigation .nav-group li { margin:0; padding:0; }
  #main-navigation .nav-group li::before { content:none; }
  #main-navigation .nav-group li a { padding-inline-start:99px; padding-inline-end:33px; }
  #main-navigation .navigation-contact,#main-navigation .navigation-preview,#main-navigation .navigation-close { display:none!important; }
  #main-navigation .mobile-admin-item { display:block; }
  #language-dialog { right:calc(5% + 36px); }
  #language-dialog::before { right:10px; }
  #search-dialog { right:calc(5% + 72px); }
  html[dir="rtl"] #main-navigation .submenu-toggle::after,html[dir="rtl"] #main-navigation .nav-group-toggle::after { transform:rotate(-135deg); }
  html[dir="rtl"] #main-navigation [aria-expanded="true"]::after { transform:rotate(135deg); }
  html[dir="rtl"] #main-navigation .nav-link { padding-inline-start:33px; padding-inline-end:66px; }
}
@media(max-width:800px) {
  .header .brand img { width:32px; height:36px; }
  .header .brand-wordmark { font-size:18px; }
  .header .brand { gap:5px; }
  #main-navigation { inset-block-start:64px; height:calc(100dvh - 64px); }
  #language-dialog { top:70px; }
  #search-dialog { top:12px; width:208px; }
  #search-dialog .search-box { height:40px; }
}
@media(max-width:767px) {
  #main-navigation .nav-link,#main-navigation .mega a,#main-navigation .nav-group h3,#main-navigation .nav-group h3 a { min-height:max(44px,calc(100vw / 7.5)); font-size:3.73333333vw; }
  #main-navigation .nav-link { padding:12px calc(100vw / 7.5) 12px calc(100vw / 15); }
  #main-navigation .submenu-toggle,#main-navigation .nav-group-toggle { height:calc(100vw / 7.5); min-height:44px; inset-inline-end:calc(100vw / 15 - 14px); }
  #main-navigation .mega-products a,#main-navigation .mega-simple a,#main-navigation .nav-group h3 a { padding:12px calc(100vw / 7.5); }
  #main-navigation .nav-group li a { padding:12px calc(100vw / 15); padding-inline-start:calc(100vw / 5); }
  html[dir="rtl"] #main-navigation .nav-link { padding-inline-start:calc(100vw / 15); padding-inline-end:calc(100vw / 7.5); }
}
@media(max-width:360px) { .header .brand-wordmark { font-size:15px; } .header .brand img { width:27px; } .header .header-tools .icon-button { width:32px; min-width:32px; } }
@media(prefers-reduced-motion:reduce) { .header.menu-open #main-navigation { animation:none; } .header .menu-lines span,#main-navigation .navigation-preview-link,#main-navigation .submenu-toggle::after,#main-navigation .nav-group-toggle::after { transition:none; } }
