/* Component - Header START */

	/* ============================================================
	OE Single-Row Header — responsive refinements  (scoped to .oe-header)
	============================================================ */

	/* Primary menu: one line; vertical padding 6px */
	.oe-header .oe-width-expand .gb-menu{ flex-wrap:nowrap; }
	@media (min-width:960px){
	.oe-header .oe-width-expand .gb-menu-link{ padding:6px 0.8em; white-space:nowrap; }
	}
	@media (min-width:1280px){
	.oe-header .oe-width-expand .gb-menu > .gb-menu-item:first-child > .gb-menu-link{ padding-left:0.8em; }
	}

	/* Level-1 menu links: blue only when open or hovered (or keyboard-focused via the theme's a:focus).
	   GB returns focus to the previous trigger when its dropdown closes, and the theme a:focus +
	   GB :focus-within colours kept that previous item blue. Mouse/tap focus no longer colours it. */
	.oe-header .gb-menu > .gb-menu-item:focus-within:not(:hover){ color:inherit; }
	.oe-header .gb-menu > .gb-menu-item > .gb-menu-link:focus:not(:focus-visible, :hover, [aria-expanded="true"], :has(.gb-submenu-toggle[aria-expanded="true"])){ color:inherit; }
	.oe-header .gb-menu > .gb-menu-item > .gb-menu-link:is(:hover, [aria-expanded="true"], :has(.gb-submenu-toggle[aria-expanded="true"])){ color:var(--oe-color-sky-blue); }

	/* Condensed tier 1080–1279 */
	@media (min-width:1080px) and (max-width:1279px){
	.oe-header .oe-header-top-bar{ gap:16px; }
	.oe-header .oe-header-top-bar > a img{ width:150px; }
	.oe-header .oe-width-expand .gb-menu-item{ font-size:0.85rem; }
	.oe-header .oe-width-expand .gb-menu-link{ padding-left:0.5em; padding-right:0.5em; }
	.oe-header .oe-header-cta .oe-button{ font-size:0.85rem; padding-left:16px; padding-right:16px; }
	}

	/* Tight tier 960–1079 */
	@media (min-width:960px) and (max-width:1079px){
	.oe-header .oe-header-top-bar{ gap:10px; }
	.oe-header .oe-header-top-bar > a img{ width:132px; }
	.oe-header .oe-width-expand .gb-menu-item{ font-size:0.77rem; }
	.oe-header .oe-width-expand .gb-menu-link{ padding-left:0.4em; padding-right:0.4em; }
	.oe-header .oe-width-expand > div{ padding:2px 4px; }
	.oe-header .oe-header-cta .oe-button{ font-size:0.8rem; padding-left:12px; padding-right:12px; }
	}

	/* Collapsed <960: hamburger far right; drop the grey pill */
	@media (max-width:959px){
	.oe-header .oe-header-top-bar{ flex-wrap:nowrap; }
	.oe-header .oe-header-top-bar > .oe-gap-small{ order:2; margin-left:auto; }
	.oe-header .oe-header-top-bar > .oe-width-expand{ order:3; flex:0 0 auto; }
	.oe-header .oe-width-expand > div{ background:transparent; padding:0; }
	}

	/* Language toggle: hide entirely when no real flag (untranslated page) */
	.oe-header .oe-wpml-toggle:not(:has(.wpml-ls-flag[src]:not([src=""]))){ display:none; }

	/* Language toggle >=960: flag only in the bar (names are rendered for the mobile menu row) */
	@media (min-width:960px){
	.oe-header .oe-wpml-toggle .wp-block-navigation-item__label{ display:none !important; }
	.oe-header .oe-wpml-toggle .wpml-ls-flag{ margin-right:0 !important; }
	}

	/* No-flash on load (CSS applies from first paint; the scripts run at the end of the page):
	   - <960: the switcher never shows in the bar — it only appears once JS snippet 225 has moved it
	     into the hamburger menu (and added .oe-nav-language-item)
	   - all widths: the WPML dropdown stays closed until snippet 218 has bound the toggle
	     (WPML renders it with aria-expanded="true", which otherwise shows the dropdown on load) */
	@media (max-width:959px){
	.oe-header .oe-header-top-bar .oe-wpml-toggle:not(.oe-nav-language-item){ display:none; }
	}
	.oe-header .oe-wpml-toggle .wp-block-navigation-submenu__toggle:not([data-oe-ls-bound]) ~ .wp-block-navigation__submenu-container{ display:none !important; }

	/* Mobile menu close button: fixed offset for the menu list below it.
	   GB measures the cloned close button at open time (--gb-menu-toggle-offset) and that measurement
	   can fail, leaving the close button overlapping the level-1 items. Button = 2.5rem (see below)
	   + 20px top gap x2 — the same 80px GB calculates when it works, but deterministic. */
	@media (max-width:959px){
	.oe-header .gb-menu-container--mobile .gb-menu-toggle--clone + .gb-menu{ margin-top:calc(2.5rem + 40px); }
	}

	/* Hamburger: subtle outline */
	.oe-header .oe-width-expand .gb-menu-toggle{ border:1px solid rgba(0,52,105,0.2); }

	/* Hamburger 'Menu' label: visible 500–959, screen-reader-only below 500 */
	.oe-header .oe-menu-label{ font-weight:500; }
	@media (max-width:499px){
	.oe-header .oe-menu-label{
		position:absolute !important; width:1px; height:1px; padding:0; margin:-1px;
		overflow:hidden; clip:rect(0 0 0 0); clip-path:inset(50%); white-space:nowrap; border:0;
	}
	}

	/* CTA: keep 'Request a trial' on one line at every width */
	.oe-header .oe-header-cta .oe-button{ white-space:nowrap; }
	@media (max-width:529px){
	.oe-header .oe-header-top-bar{ gap:var(--oe-spacing-small); }
	.oe-header .oe-header-cta .oe-button-small{ font-size:var(--oe-font-size-small); padding:0.65rem var(--oe-spacing-base); }
	}
	@media (max-width:479px){
	.oe-header .oe-header-cta .oe-button-small{ font-size:var(--oe-font-size-xsmall); }
	}

	/* <960: CTA and menu trigger share one height */
	@media (max-width:959px){
	.oe-header .oe-header-cta .oe-button,
	.oe-header .oe-width-expand .gb-menu-toggle{ box-sizing:border-box; min-height:2.5rem; align-items:center; }
	}

	/* <960: Client Login moved into the hamburger menu (JS snippet 225)
	   Full-width panel + open-row styling to match the other mega menu items */
	@media (max-width:959px){
	.oe-header .oe-nav-primary .oe-nav-client-login-item > .gb-overlay{ width:100%; }
	.oe-header .oe-nav-primary .oe-nav-client-login-item .gb-overlay__content > div{ box-sizing:border-box; width:100%; background:rgba(255,255,255,0.65); box-shadow:0 4px 8px -4px rgba(0,0,0,0.08); }
	.oe-header .oe-nav-primary .oe-nav-client-login-item > .gb-menu-link:has(.gb-submenu-toggle[aria-expanded="true"]){ border-bottom:1px solid transparent; background:#FFFFFF; }
	.oe-header .oe-nav-primary .oe-nav-client-login-item > .gb-menu-link .gb-submenu-toggle{ justify-content:flex-end; }
	}

	/* <960: Language switcher moved to the end of the hamburger menu (JS snippet 225)
	   Row matches the other menu items (flag + language name); languages open inline, full width */
	@media (max-width:959px){
	.oe-header .oe-nav-primary .oe-nav-language-item{ width:100%; border-bottom:1px solid rgba(0,0,0,0.1); font-size:0.9rem; }
	.oe-header .oe-nav-primary .oe-nav-language-item .wpml-language-switcher-block{ display:block; padding:0 !important; }
	.oe-header .oe-nav-primary .oe-nav-language-item :is(.wp-block-navigation-item, .wpml-ls-dropdown, .wp-block-navigation__container){ display:block; width:100%; margin:0; padding:0; }
	.oe-header .oe-nav-primary .oe-nav-language-item .wp-block-navigation-submenu__toggle{ display:block; padding:1em 0.8em; background:transparent; border:0; border-radius:0; }
	.oe-header .oe-nav-primary .oe-nav-language-item .wp-block-navigation-submenu__toggle[aria-expanded="true"]{ background:#FFFFFF; }
	.oe-header .oe-nav-primary .oe-nav-language-item .current-language-item{ justify-content:space-between; align-items:center; width:100%; min-height:0; }
	.oe-header .oe-nav-primary .oe-nav-language-item .wp-block-navigation-item__label{ display:inline !important; font-size:0.9rem !important; }
	.oe-header .oe-nav-primary .oe-nav-language-item .wpml-ls-flag{ margin-right:var(--oe-spacing-xsmall) !important; }
	.oe-header .oe-nav-primary .oe-nav-language-item .wp-block-navigation__submenu-icon{ display:flex; align-items:center; align-self:center; margin:0 2px 0 0; height:auto; width:auto; }
	.oe-header .oe-nav-primary .oe-nav-language-item .wp-block-navigation__submenu-icon svg{ width:0.75em !important; height:0.75em !important; }
	.oe-header .oe-nav-primary .oe-nav-language-item .wp-block-navigation .has-child .wp-block-navigation-submenu__toggle ~ .wp-block-navigation__submenu-container{ position:static !important; width:100% !important; min-width:0 !important; margin:0 !important; padding:var(--oe-spacing-xsmall) 0 !important; border:0 !important; border-radius:0 !important; background:rgba(255,255,255,0.65) !important; box-shadow:0 4px 8px -4px rgba(0,0,0,0.08) !important; flex-direction:column; }
	.oe-header .oe-nav-primary .oe-nav-language-item .wp-block-navigation__submenu-container > li{ padding:0 !important; background:transparent !important; }
	.oe-header .oe-nav-primary .oe-nav-language-item .wp-block-navigation__submenu-container a{ display:flex; align-items:center; padding:0.6em 0.8em 0.6em 1.6em; }
	}

/* Component - Header END */
