/* Header menu (src/theme/header.html, public/js/ecomskit-nav.js). Loaded on every page after the Elementor/Neve CSS.
   Colours and fonts are the existing tokens: Lato 16px, text #134F4B (secondary), teal #0E7068 (accent), white panels.
   Without JavaScript the menu is a plain list: the dropdown opens on :hover/:focus-within (desktop) and every link is visible (mobile). */
.eq-nav-wrap, .eq-nav-wrap * { box-sizing: border-box; }
.eq-nav-wrap ul { list-style: none; margin: 0; padding: 0; }
.eq-nav-wrap li { margin: 0; }
.eq-nav__link { font-family: "Lato", Sans-serif; font-size: 16px; font-weight: 500; line-height: 1.3; color: var(--e-global-color-secondary, #134F4B); text-decoration: none; }
.eq-nav__link:hover, .eq-nav__link:focus-visible, .menu-item.current-menu-item > .eq-nav__link { color: var(--e-global-color-accent, #0E7068); }
.eq-nav__link:focus-visible, .eq-nav__toggle:focus-visible, .eq-nav__expand:focus-visible { outline: 2px solid #0E7068; outline-offset: 2px; }
.eq-nav__toggle { display: none; }
.eq-nav__expand { display: none; }
/* the Neve theme styles every <button>: reset the chevron button */
.eq-nav-wrap .eq-nav__expand, .eq-nav-wrap .eq-nav__toggle { padding: 0 !important; margin: 0 !important; border: 0 !important; box-shadow: none !important; min-width: 0; line-height: 1; align-self: auto; }
.eq-nav-wrap .eq-nav__expand { background: transparent !important; border-radius: 4px; color: inherit; }
.eq-nav-wrap .eq-nav__expand:hover { background: #F8FAF9 !important; }
.eq-nav__heading { display: block; font-family: "Lato", Sans-serif; font-size: 13px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: #0E7068; margin: 0 0 6px; padding: 0 12px; }

/* ---------- desktop ---------- */
@media (min-width: 1025px) {
  /* the dropdown is positioned against the boxed header content, not against the narrow menu widget */
  .elementor-8 .elementor-element.elementor-element-392a852 > .e-con-inner { position: relative; }
  .elementor-8 .elementor-element-09e6a7f, .elementor-8 .elementor-element-7b7fa75, .elementor-8 .elementor-element-7b7fa75 .elementor-widget-container { position: static; }
  .elementor-8 .elementor-element-7b7fa75, .elementor-8 .elementor-element-7b7fa75 .elementor-widget-container { width: 100%; }
  .eq-nav__list { display: flex; align-items: center; justify-content: flex-end; }
  .eq-nav__list > li { position: static; display: flex; align-items: center; }
  .eq-nav__list > li:not(:last-child) { margin-right: 42px; }
  .eq-nav__top { display: block; padding: 15px 12px; }
  .eq-nav__cta { display: none !important; }
  .eq-nav__has-sub > .eq-nav__top { padding-right: 4px; }
  .eq-nav__has-sub > .eq-nav__top::after { content: none; }
  .eq-nav__expand { display: none; width: 28px; height: 44px; padding: 0; border: 0; background: none; cursor: pointer; position: relative; }
  .eq-nav__expand::before { content: ""; position: absolute; left: 50%; top: 50%; width: 7px; height: 7px; margin: -6px 0 0 -4px; border: solid #134F4B; border-width: 0 2px 2px 0; transform: rotate(45deg); transition: transform .15s; }
  .eq-js .eq-nav__expand { display: block; }
  .eq-nav__has-sub.eq-open > .eq-nav__expand::before { transform: rotate(-135deg); margin-top: -2px; }
  .eq-nav__sub { display: none; position: absolute; right: 0; top: calc(100% - 6px); z-index: 9999; width: 900px; max-width: calc(100vw - 32px); padding: 22px 16px 16px; background: #fff; border: 1px solid #d5e2e0; border-radius: 8px; box-shadow: 0 14px 34px rgba(19, 79, 75, .16); grid-template-columns: repeat(4, 1fr); column-gap: 8px; row-gap: 6px; }
  .eq-nav__has-sub.eq-open > .eq-nav__sub { display: grid; }
  /* no JavaScript: plain hover / keyboard focus */
  .eq-nav-wrap:not(.eq-js) .eq-nav__has-sub:hover > .eq-nav__sub,
  .eq-nav-wrap:not(.eq-js) .eq-nav__has-sub:focus-within > .eq-nav__sub { display: grid; }
  .eq-nav__all { grid-column: 1 / -1; border-bottom: 1px solid #d5e2e0; padding-bottom: 8px; margin-bottom: 4px; }
  .eq-nav__cases { grid-column: 1 / -1; border-top: 1px solid #d5e2e0; padding-top: 8px; margin-top: 4px; }
  .eq-nav__sub .eq-nav__link { display: block; padding: 9px 12px; border-radius: 4px; }
  .eq-nav__sub .eq-nav__link:hover { background: #F8FAF9; }
  .eq-nav__all .eq-nav__link, .eq-nav__cases .eq-nav__link { font-weight: 700; }
  .eq-nav__cases .eq-nav__link::after { content: " \2192"; }
}

/* ---------- tablet and mobile ---------- */
@media (max-width: 1024px) {
  .elementor-8 .elementor-element.elementor-element-392a852 { position: relative; }
  .elementor-8 .elementor-element-09e6a7f, .elementor-8 .elementor-element-7b7fa75, .elementor-8 .elementor-element-7b7fa75 .elementor-widget-container { position: static; }
  .eq-js .eq-nav__toggle { display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; margin-left: auto !important; border-radius: 4px; background: var(--e-global-color-accent, #0E7068) !important; cursor: pointer; }
  .eq-nav__toggle svg { width: 23px; height: 23px; fill: #fff; }
  /* full-width panel under the header bar */
  .eq-nav { display: block; position: absolute; left: 0; right: 0; top: 100%; z-index: 9999; background: #fff; border-top: 1px solid #d5e2e0; box-shadow: 0 14px 34px rgba(19, 79, 75, .16); padding: 8px 16px 20px; max-height: calc(100vh - 90px); overflow-y: auto; }
  .eq-js .eq-nav { display: none; }
  .eq-js.eq-open .eq-nav { display: block; }
  .eq-nav__list > li { border-bottom: 1px solid #e3ecea; }
  .eq-nav__list > li.eq-nav__cta { border-bottom: 0; padding-top: 16px; }
  .eq-nav__top, .eq-nav__sub .eq-nav__link { display: flex; align-items: center; min-height: 44px; padding: 10px 8px; }
  .eq-nav__has-sub { display: flex; flex-wrap: wrap; align-items: center; }
  .eq-nav__has-sub > .eq-nav__top { flex: 1 1 0; }
  .eq-nav__has-sub > .eq-nav__sub { flex: 0 0 100%; }
  .eq-nav__expand { width: 44px; height: 44px; padding: 0; border: 0; background: none; cursor: pointer; position: relative; }
  .eq-js .eq-nav__expand { display: block; }
  .eq-nav__expand::before { content: ""; position: absolute; left: 50%; top: 50%; width: 9px; height: 9px; margin: -7px 0 0 -5px; border: solid #134F4B; border-width: 0 2px 2px 0; transform: rotate(45deg); transition: transform .15s; }
  .eq-nav__has-sub.eq-open > .eq-nav__expand::before { transform: rotate(-135deg); margin-top: -2px; }
  .eq-js .eq-nav__sub { display: none; }
  .eq-js .eq-nav__has-sub.eq-open > .eq-nav__sub { display: block; }
  .eq-nav__sub { padding: 0 0 8px 12px; }
  .eq-nav__group { margin-top: 8px; }
  .eq-nav__heading { padding: 8px 8px 2px; }
  .eq-nav__all .eq-nav__link, .eq-nav__cases .eq-nav__link { font-weight: 700; }
  .eq-nav__cta .eq-nav__link { display: flex; align-items: center; justify-content: center; min-height: 48px; background: var(--e-global-color-accent, #0E7068); color: #fff; border-radius: 4px; font-weight: 700; }
  .eq-nav__cta .eq-nav__link:hover { color: #fff; background: #134F4B; }
}
