/* =========================================================
   Combined Header & Search Styles
   ---------------------------------------------------------
   This file merges all header-related styles from:
   - header-style.css
   - mega-menu-style.css
   - desktop-ivory-search-style.css
   - mobile-ivory-search-style.css
   ========================================================= */

/* =========================================================
   HEADER STATE MODEL
   ---------------------------------------------------------
*/

/* Shrink menu text on narrow desktop widths (before tablet breakpoint) so that French text fits */
@media (max-width: 1240px) {
  .e-n-menu-heading .e-n-menu-title-text {
    font-size: 15px !important;
  }
}

/* ---------------------------------------------------------
   Base transitions
   --------------------------------------------------------- */
.site-header,
.site-header > .e-con-inner {
  transition: background-color 0.25s ease;
}

/* Header shadow (appears below menu) */
.site-header::after {
  content: '';
  position: absolute;
  bottom: -8px;
  left: 0;
  right: 0;
  height: 8px;
  background-image: url('/wp-content/plugins/sm_wordpress_plugin/assets/img/menu_shadow.webp');
  background-repeat: repeat-x;
  background-size: auto 100%;
  opacity: 0;
  transition: opacity 0.25s ease;
  pointer-events: none;
  z-index: 999;
}

.site-header .e-n-menu-title-text,
.site-header .e-n-menu-dropdown-icon svg,
.site-header .e-n-menu-toggle svg {
  transition: color 0.25s ease, fill 0.25s ease;
}

/* ---------------------------------------------------------
   TOP OF PAGE (default)
   --------------------------------------------------------- */
body:not(.is-scrolled) .site-header {
  background-color: transparent;
}

body:not(.is-scrolled) .site-header > .e-con-inner {
  background-color: transparent;
}

/* Black gradient visible at top of page */
body:not(.is-scrolled) .site-header::before {
  opacity: 1;
}

/* Shadow hidden at top of page */
body:not(.is-scrolled) .site-header::after {
  opacity: 0;
}

/* Logo + globe (white) - DESKTOP */
@media (min-width: 1025px) {
  body:not(.is-scrolled) .site-header .logo-white:not(.elementor-hidden-desktop),
  body:not(.is-scrolled) .site-header .globe-white:not(.elementor-hidden-desktop) {
    display: block;
  }

  body:not(.is-scrolled) .site-header .logo-teal:not(.elementor-hidden-desktop),
  body:not(.is-scrolled) .site-header .globe-teal:not(.elementor-hidden-desktop) {
    display: none;
  }
}

/* Logo + globe (white) - MOBILE */
@media (max-width: 1024px) {
  body:not(.is-scrolled) .site-header .logo-white:not(.elementor-hidden-mobile),
  body:not(.is-scrolled) .site-header .globe-white:not(.elementor-hidden-mobile) {
    display: block;
  }

  body:not(.is-scrolled) .site-header .logo-teal:not(.elementor-hidden-mobile),
  body:not(.is-scrolled) .site-header .globe-teal:not(.elementor-hidden-mobile) {
    display: none;
  }
}

/* Hamburger menu (white) - MOBILE */
@media (max-width: 1024px) {
  body:not(.is-scrolled) .site-header .hamburger-white:not(.elementor-hidden-mobile):not(.menu-open) {
    display: block;
  }

  body:not(.is-scrolled) .site-header .hamburger-teal:not(.elementor-hidden-mobile),
  body:not(.is-scrolled) .site-header .hamburger-close:not(.elementor-hidden-mobile):not(.menu-open) {
    display: none;
  }
}

/* Menu + language text (white) */
body:not(.is-scrolled) .site-header .e-n-menu-title-text,
body:not(.is-scrolled) .site-header .language-picker {
  color: #ffffff;
}

/* Menu arrows (white) */
body:not(.is-scrolled) .site-header .e-n-menu-dropdown-icon svg {
  fill: #ffffff;
}

/* Prevent duplicate submenu chevrons on menu items (mobile only) */
@media (max-width: 1024px) {
  .site-header .elementor-item .sub-arrow + .sub-arrow {
    display: none;
  }
}

/* Mobile menu toggle (white) */
body:not(.is-scrolled) .site-header .e-n-menu-toggle svg {
  fill: #ffffff;
}

/* Mobile menu toggle focus/active (white) */
body:not(.is-scrolled) .site-header .e-n-menu-toggle:focus svg,
body:not(.is-scrolled) .site-header .e-n-menu-toggle:active svg,
body:not(.is-scrolled) .site-header .e-n-menu-toggle.elementor-active svg {
  fill: #ffffff !important;
}

/* Prevent background color on toggle focus */
body:not(.is-scrolled) .site-header .e-n-menu-toggle:focus,
body:not(.is-scrolled) .site-header .e-n-menu-toggle:active,
body:not(.is-scrolled) .site-header .e-n-menu-toggle.elementor-active {
  background-color: transparent !important;
}

/* ---------------------------------------------------------
   SCROLLED STATE
   --------------------------------------------------------- */
body.is-scrolled .site-header,
body.is-scrolled .site-header > .e-con-inner {
  background-color: #ffffff;
}

/* Black gradient hidden in scrolled state */
body.is-scrolled .site-header::before {
  opacity: 0;
}

/* Shadow visible in scrolled state */
body.is-scrolled .site-header::after {
  opacity: 1;
}

/* Logo + globe (teal) - DESKTOP */
@media (min-width: 1025px) {
  body.is-scrolled .site-header .logo-white:not(.elementor-hidden-desktop),
  body.is-scrolled .site-header .globe-white:not(.elementor-hidden-desktop) {
    display: none;
  }

  body.is-scrolled .site-header .logo-teal:not(.elementor-hidden-desktop),
  body.is-scrolled .site-header .globe-teal:not(.elementor-hidden-desktop) {
    display: block;
  }
}

/* Logo + globe (teal) - MOBILE */
@media (max-width: 1024px) {
  body.is-scrolled .site-header .logo-white:not(.elementor-hidden-mobile),
  body.is-scrolled .site-header .globe-white:not(.elementor-hidden-mobile) {
    display: none;
  }

  body.is-scrolled .site-header .logo-teal:not(.elementor-hidden-mobile),
  body.is-scrolled .site-header .globe-teal:not(.elementor-hidden-mobile) {
    display: block;
  }
}

/* Hamburger menu (teal when scrolled) - MOBILE */
@media (max-width: 1024px) {
  body.is-scrolled .site-header .hamburger-white:not(.elementor-hidden-mobile),
  body.is-scrolled .site-header .hamburger-close:not(.elementor-hidden-mobile):not(.menu-open) {
    display: none;
  }

  body.is-scrolled .site-header .hamburger-teal:not(.elementor-hidden-mobile):not(.menu-open) {
    display: block;
  }
}

/* Menu + language text (teal) */
body.is-scrolled .site-header .e-n-menu-title-text,
body.is-scrolled .site-header .language-picker {
  color: var(--e-global-color-primary) !important;
}

body.is-scrolled .site-header .language-picker li::before,
body.is-scrolled .site-header .language-picker li::after {
  background-color: var(--e-global-color-primary);
  border-color: var(--e-global-color-primary);
}

/* SCROLLED: force entire language picker (all items) to teal */
body.is-scrolled .site-header .language-picker,
body.is-scrolled .site-header .language-picker * {
  color: var(--e-global-color-primary) !important;
}

/* Menu arrows (teal) */
body.is-scrolled .site-header .e-n-menu-dropdown-icon svg {
  fill: var(--e-global-color-primary) !important;
}

/* Mobile menu toggle (teal) */
body.is-scrolled .site-header .e-n-menu-toggle svg {
  fill: var(--e-global-color-primary) !important;
}

/* Mobile menu toggle focus/active (teal) */
body.is-scrolled .site-header .e-n-menu-toggle:focus svg,
body.is-scrolled .site-header .e-n-menu-toggle:active svg,
body.is-scrolled .site-header .e-n-menu-toggle.elementor-active svg {
  fill: var(--e-global-color-primary) !important;
}

/* ---------------------------------------------------------
   TOP OF PAGE + HEADER HOVER / MENU OPEN
   (Force scrolled appearance while hovering header
    or while mobile menu popup is open)
   --------------------------------------------------------- */
body:not(.is-scrolled) .site-header:hover,
body:not(.is-scrolled) .site-header:hover > .e-con-inner,
body.is-menu-open:not(.is-scrolled) .site-header,
body.is-menu-open:not(.is-scrolled) .site-header > .e-con-inner {
  background-color: #ffffff;
}

/* Black gradient hidden on hover / menu open (white background takes over) */
body:not(.is-scrolled) .site-header:hover::before,
body.is-menu-open:not(.is-scrolled) .site-header::before {
  opacity: 0;
}

/* Shadow visible on hover / menu open (top of page) */
body:not(.is-scrolled) .site-header:hover::after,
body.is-menu-open:not(.is-scrolled) .site-header::after {
  opacity: 1;
}

/* Logo + globe (teal on hover / menu open) - DESKTOP */
@media (min-width: 1025px) {
  body:not(.is-scrolled) .site-header:hover .logo-white:not(.elementor-hidden-desktop),
  body:not(.is-scrolled) .site-header:hover .globe-white:not(.elementor-hidden-desktop),
  body.is-menu-open:not(.is-scrolled) .site-header .logo-white:not(.elementor-hidden-desktop),
  body.is-menu-open:not(.is-scrolled) .site-header .globe-white:not(.elementor-hidden-desktop) {
    display: none;
  }

  body:not(.is-scrolled) .site-header:hover .logo-teal:not(.elementor-hidden-desktop),
  body:not(.is-scrolled) .site-header:hover .globe-teal:not(.elementor-hidden-desktop),
  body.is-menu-open:not(.is-scrolled) .site-header .logo-teal:not(.elementor-hidden-desktop),
  body.is-menu-open:not(.is-scrolled) .site-header .globe-teal:not(.elementor-hidden-desktop) {
    display: block;
  }
}

/* Logo + globe (teal on hover / menu open) - MOBILE */
@media (max-width: 1024px) {
  body:not(.is-scrolled) .site-header:hover .logo-white:not(.elementor-hidden-mobile),
  body:not(.is-scrolled) .site-header:hover .globe-white:not(.elementor-hidden-mobile),
  body.is-menu-open:not(.is-scrolled) .site-header .logo-white:not(.elementor-hidden-mobile),
  body.is-menu-open:not(.is-scrolled) .site-header .globe-white:not(.elementor-hidden-mobile) {
    display: none;
  }

  body:not(.is-scrolled) .site-header:hover .logo-teal:not(.elementor-hidden-mobile),
  body:not(.is-scrolled) .site-header:hover .globe-teal:not(.elementor-hidden-mobile),
  body.is-menu-open:not(.is-scrolled) .site-header .logo-teal:not(.elementor-hidden-mobile),
  body.is-menu-open:not(.is-scrolled) .site-header .globe-teal:not(.elementor-hidden-mobile) {
    display: block;
  }
}

/* Hamburger menu (teal on hover / menu open) - MOBILE */
@media (max-width: 1024px) {
  body:not(.is-scrolled) .site-header:hover .hamburger-white:not(.elementor-hidden-mobile),
  body:not(.is-scrolled) .site-header:hover .hamburger-close:not(.elementor-hidden-mobile):not(.menu-open),
  body.is-menu-open:not(.is-scrolled) .site-header .hamburger-white:not(.elementor-hidden-mobile),
  body.is-menu-open:not(.is-scrolled) .site-header .hamburger-close:not(.menu-open) {
    display: none;
  }

  body:not(.is-scrolled) .site-header:hover .hamburger-teal:not(.elementor-hidden-mobile):not(.menu-open),
  body.is-menu-open:not(.is-scrolled) .site-header .hamburger-teal:not(.elementor-hidden-mobile):not(.menu-open) {
    display: block;
  }
}

/* Menu + language text (teal on hover / menu open) */
body:not(.is-scrolled) .site-header:hover .e-n-menu-title-text,
body:not(.is-scrolled) .site-header:hover .language-picker,
body:not(.is-scrolled) .site-header:hover .language-picker *,
body.is-menu-open:not(.is-scrolled) .site-header .e-n-menu-title-text,
body.is-menu-open:not(.is-scrolled) .site-header .language-picker,
body.is-menu-open:not(.is-scrolled) .site-header .language-picker * {
  color: var(--e-global-color-primary) !important;
}

/* Menu arrows (teal on hover / menu open) */
body:not(.is-scrolled) .site-header:hover .e-n-menu-dropdown-icon svg,
body.is-menu-open:not(.is-scrolled) .site-header .e-n-menu-dropdown-icon svg {
  fill: var(--e-global-color-primary) !important;
}

/* Mobile menu toggle (teal on hover / menu open) */
body:not(.is-scrolled) .site-header:hover .e-n-menu-toggle svg,
body.is-menu-open:not(.is-scrolled) .site-header .e-n-menu-toggle svg {
  fill: var(--e-global-color-primary) !important;
}

/* Mobile menu toggle focus/active (teal on hover / menu open) */
body:not(.is-scrolled) .site-header:hover .e-n-menu-toggle:focus svg,
body:not(.is-scrolled) .site-header:hover .e-n-menu-toggle:active svg,
body:not(.is-scrolled) .site-header:hover .e-n-menu-toggle.elementor-active svg,
body.is-menu-open:not(.is-scrolled) .site-header .e-n-menu-toggle:focus svg,
body.is-menu-open:not(.is-scrolled) .site-header .e-n-menu-toggle:active svg,
body.is-menu-open:not(.is-scrolled) .site-header .e-n-menu-toggle.elementor-active svg {
  fill: var(--e-global-color-primary) !important;
}

/* Prevent background color on toggle focus */
body:not(.is-scrolled) .site-header:hover .e-n-menu-toggle:focus,
body:not(.is-scrolled) .site-header:hover .e-n-menu-toggle:active,
body:not(.is-scrolled) .site-header:hover .e-n-menu-toggle.elementor-active,
body.is-menu-open:not(.is-scrolled) .site-header .e-n-menu-toggle:focus,
body.is-menu-open:not(.is-scrolled) .site-header .e-n-menu-toggle:active,
body.is-menu-open:not(.is-scrolled) .site-header .e-n-menu-toggle.elementor-active {
  background-color: transparent !important;
}

/* Language picker dividers */
body:not(.is-scrolled) .site-header:hover .language-picker li::before,
body:not(.is-scrolled) .site-header:hover .language-picker li::after,
body.is-menu-open:not(.is-scrolled) .site-header .language-picker li::before,
body.is-menu-open:not(.is-scrolled) .site-header .language-picker li::after {
  background-color: var(--e-global-color-primary);
  border-color: var(--e-global-color-primary);
}


/* ---------------------------------------------------------
   Safety: prevent button color interference
   --------------------------------------------------------- */
.site-header .e-n-menu-dropdown-icon {
  color: inherit;
}


/* SEARCH – placeholder flips to teal on white header */
body.is-scrolled .site-header .search-form .search-field::placeholder,
body:not(.is-scrolled) .site-header:hover .search-form .search-field::placeholder,
body.is-menu-open:not(.is-scrolled) .site-header .search-form .search-field::placeholder {
    color: var(--e-global-color-primary);
}


/* SEARCH – button flips on white header */
body.is-scrolled .site-header .search-form .search-submit,
body:not(.is-scrolled) .site-header:hover .search-form .search-submit,
body.is-menu-open:not(.is-scrolled) .site-header .search-form .search-submit {
    background-color: var(--e-global-color-primary) !important;

    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23ffffff'%3E%3Cpath d='M15.5 14h-.79l-.28-.27a6.471 6.471 0 0 0 1.57-4.23C16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16a6.471 6.471 0 0 0 4.23-1.57l.27.28v.79L19 20.49 20.49 19l-4.99-5zM9.5 14C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z'/%3E%3C/svg%3E");
}


/* STIRLING BRAND VARIANT
   ---------------------------------------------------------
   Dark theme with black background and white text throughout
   Apply .site-header-stirling class to header element
   --------------------------------------------------------- */

/* STIRLING - SCROLLED STATE (triggered by scroll or .force-black-header) */
body.is-scrolled .site-header-stirling,
body.is-scrolled .site-header-stirling > .e-con-inner,
body.is-scrolled-stirling .site-header-stirling,
body.is-scrolled-stirling .site-header-stirling > .e-con-inner {
  background-color: #000000;
}

/* Stirling shadow (base definition) */
.site-header-stirling::after {
  content: '';
  position: absolute;
  bottom: -8px;
  left: 0;
  right: 0;
  height: 8px;
  background-image: url('/wp-content/plugins/sm_wordpress_plugin/assets/img/menu_shadow_stirling.webp');
  background-repeat: repeat-x;
  background-size: auto 100%;
  opacity: 0;
  transition: opacity 0.25s ease;
  pointer-events: none;
  z-index: 999;
}

/* Make Stirling shadow visible when scrolled */
body.is-scrolled .site-header-stirling::after,
body.is-scrolled-stirling .site-header-stirling::after {
  opacity: 1;
}

/* Menu + language text stays white in scrolled state */
body.is-scrolled .site-header-stirling .e-n-menu-title-text,
body.is-scrolled .site-header-stirling .language-picker,
body.is-scrolled-stirling .site-header-stirling .e-n-menu-title-text,
body.is-scrolled-stirling .site-header-stirling .language-picker {
  color: #ffffff !important;
}

body.is-scrolled .site-header-stirling .language-picker li::before,
body.is-scrolled .site-header-stirling .language-picker li::after,
body.is-scrolled-stirling .site-header-stirling .language-picker li::before,
body.is-scrolled-stirling .site-header-stirling .language-picker li::after {
  background-color: #ffffff;
  border-color: #ffffff;
}

/* Menu arrows stay white */
body.is-scrolled .site-header-stirling .e-n-menu-dropdown-icon svg,
body.is-scrolled-stirling .site-header-stirling .e-n-menu-dropdown-icon svg {
  fill: #ffffff !important;
}

/* Mobile menu toggle stays white */
body.is-scrolled .site-header-stirling .e-n-menu-toggle svg,
body.is-scrolled-stirling .site-header-stirling .e-n-menu-toggle svg {
  fill: #ffffff !important;
}

/* Mobile menu toggle focus/active stays white */
body.is-scrolled .site-header-stirling .e-n-menu-toggle:focus svg,
body.is-scrolled .site-header-stirling .e-n-menu-toggle:active svg,
body.is-scrolled .site-header-stirling .e-n-menu-toggle.elementor-active svg,
body.is-scrolled-stirling .site-header-stirling .e-n-menu-toggle:focus svg,
body.is-scrolled-stirling .site-header-stirling .e-n-menu-toggle:active svg,
body.is-scrolled-stirling .site-header-stirling .e-n-menu-toggle.elementor-active svg {
  fill: #ffffff !important;
}

/* STIRLING - TOP OF PAGE + HEADER HOVER / MENU OPEN */
body:not(.is-scrolled) .site-header-stirling:hover,
body:not(.is-scrolled) .site-header-stirling:hover > .e-con-inner,
body.is-menu-open:not(.is-scrolled) .site-header-stirling,
body.is-menu-open:not(.is-scrolled) .site-header-stirling > .e-con-inner {
  background-color: #000000;
}

body:not(.is-scrolled) .site-header-stirling::before {
  opacity: 1;
}

/* Make Stirling shadow visible on hover / menu open */
body:not(.is-scrolled) .site-header-stirling:hover::after,
body.is-menu-open:not(.is-scrolled) .site-header-stirling::after {
  opacity: 1;
}

/* Menu + language text stays white on hover / menu open */
body:not(.is-scrolled) .site-header-stirling:hover .e-n-menu-title-text,
body:not(.is-scrolled) .site-header-stirling:hover .language-picker,
body:not(.is-scrolled) .site-header-stirling:hover .language-picker *,
body.is-menu-open:not(.is-scrolled) .site-header-stirling .e-n-menu-title-text,
body.is-menu-open:not(.is-scrolled) .site-header-stirling .language-picker,
body.is-menu-open:not(.is-scrolled) .site-header-stirling .language-picker * {
  color: #ffffff !important;
}

/* Menu arrows stay white on hover / menu open */
body:not(.is-scrolled) .site-header-stirling:hover .e-n-menu-dropdown-icon svg,
body.is-menu-open:not(.is-scrolled) .site-header-stirling .e-n-menu-dropdown-icon svg {
  fill: #ffffff !important;
}

/* Mobile menu toggle stays white on hover / menu open */
body:not(.is-scrolled) .site-header-stirling:hover .e-n-menu-toggle svg,
body.is-menu-open:not(.is-scrolled) .site-header-stirling .e-n-menu-toggle svg {
  fill: #ffffff !important;
}

/* Mobile menu toggle focus/active stays white on hover / menu open */
body:not(.is-scrolled) .site-header-stirling:hover .e-n-menu-toggle:focus svg,
body:not(.is-scrolled) .site-header-stirling:hover .e-n-menu-toggle:active svg,
body:not(.is-scrolled) .site-header-stirling:hover .e-n-menu-toggle.elementor-active svg,
body.is-menu-open:not(.is-scrolled) .site-header-stirling .e-n-menu-toggle:focus svg,
body.is-menu-open:not(.is-scrolled) .site-header-stirling .e-n-menu-toggle:active svg,
body.is-menu-open:not(.is-scrolled) .site-header-stirling .e-n-menu-toggle.elementor-active svg {
  fill: #ffffff !important;
}

/* Language picker dividers stay white on hover / menu open */
body:not(.is-scrolled) .site-header-stirling:hover .language-picker li::before,
body:not(.is-scrolled) .site-header-stirling:hover .language-picker li::after,
body.is-menu-open:not(.is-scrolled) .site-header-stirling .language-picker li::before,
body.is-menu-open:not(.is-scrolled) .site-header-stirling .language-picker li::after {
  background-color: #ffffff;
  border-color: #ffffff;
}

/* STIRLING - Hamburger menu (always white on dark background) - MOBILE
   Stirling only needs 2 states: white hamburger (closed) and X (open).
   Override the base 3-state swap (white → teal → close) so that
   .hamburger-teal is never shown and .hamburger-white stays visible.
   Explicit .menu-open rules are needed because .site-header-stirling
   may not also carry .site-header, so the generic toggle rules won't match. */
@media (max-width: 1024px) {
  /* Show white hamburger when menu is closed */
  .site-header-stirling .hamburger-white:not(.elementor-hidden-mobile):not(.menu-open) {
    display: block !important;
  }

  /* Hide white hamburger when menu is open */
  .site-header-stirling .hamburger-white.menu-open {
    display: none !important;
  }

  /* Never show teal hamburger on Stirling */
  .site-header-stirling .hamburger-teal {
    display: none !important;
  }

  /* Hide close/X when menu is not open */
  .site-header-stirling .hamburger-close:not(.menu-open) {
    display: none !important;
  }

  /* Show close/X when menu is open */
  .site-header-stirling .hamburger-close.menu-open {
    display: block !important;
  }
}

/* Ensure mobile menu popup loads over all other elements.
   --------------------------------- */
.mobile-menu {
    z-index:9999909999;
}

/* Fill the scrollbar gap on the header when menu popup is open.
   Elementor hides the scrollbar and sets an inline pixel width on the
   header, leaving a gap on the right. A box-shadow paints over the gap
   without changing the header's layout or shifting content. */
body.is-menu-open .site-header {
  box-shadow: 20px 0 0 0 #ffffff;
}

body.is-menu-open .site-header-stirling {
  box-shadow: 20px 0 0 0 #000000;
}

/* =========================================================
   Apply the .parent-category-link class to WP menu items which you want to underline
   --------------------------------------------------------- */
.parent-category-link > a {
  text-decoration: underline;
}

/* Apply Stirling colours to Live Chat html link */
.live-chat-link-stirling a {
    color: #ffffff;
}
.live-chat-link-stirling:hover a {
    color: #DDCABB;
}

/* =========================================================
   MEGA MENU BUG FIXES
   ---------------------------------------------------------
*/

/* Fix background transparency issue */
@media (max-width: 1024px) {
  .elementor-widget-n-menu 
  .e-n-menu[data-layout="dropdown"] 
  .e-n-menu-wrapper {
      background-color: #FFFFFF;
  }
}

/* Fix menu toggle focus styles */
.elementor-widget-n-menu .e-n-menu-toggle:focus:not(:focus-visible) {
  background-color: var(--e-global-color-primary) !important;
  color: #fff !important;
  outline: none !important;
  box-shadow: none !important;
}

.elementor-widget-n-menu .e-n-menu-toggle:focus-visible {
  background-color: var(--e-global-color-primary) !important;
  color: #fff !important;
  outline: none !important;
  box-shadow: none !important;
}

.elementor-widget-n-menu .e-n-menu-toggle:focus:not(:focus-visible) svg,
.elementor-widget-n-menu .e-n-menu-toggle:focus-visible svg {
  fill: currentColor !important;
}

/* =========================================================
   DESKTOP IVORY SEARCH STYLES
   ---------------------------------------------------------
*/

/* Form layout */
.search-form {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    height: 32px;
    box-sizing: border-box;
    border-radius: 9999px;

    background-color: rgba(255, 255, 255, 0.15);
    border: 1px solid #d1d5d8;
}

/* Label should not affect layout */
.search-form > label {
    flex: 1 1 0%;
    min-width: 0;
    height: 100%;
    margin: 0;
    overflow: hidden;
}

/* Text input */
.search-form .search-field {
    width: calc(100%) !important;
    min-width: 0;
    height: 100%;

    border: 0;
    padding: 0 0 0 16px !important;
    font-family: Montserrat;
    font-size: 18px;
    font-weight: 500;

    background: transparent;
    outline: none;
}

/* Placeholder colour */
.search-form .search-field::placeholder {
    color: #ffffff;
}

/* Submit button (round) */
.search-form .search-submit {
    -webkit-appearance: none;
    appearance: none;

    width: 35px;
    height: 35px;
    flex: 0 0 35px;
    margin-right: -5px;
    border-radius: 50%;
    border: 0;
    padding: 0;

    background-color: #ffffff !important;

    cursor: pointer;

    font-size: 0;
    line-height: 0;
    text-indent: -9999px;
    white-space: nowrap;

    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23347a8b'%3E%3Cpath d='M15.5 14h-.79l-.28-.27a6.471 6.471 0 0 0 1.57-4.23C16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16a6.471 6.471 0 0 0 4.23-1.57l.27.28v.79L19 20.49 20.49 19l-4.99-5zM9.5 14C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 22px 22px;
}

.search-form .search-field:focus {
    outline: none;
}

/* Stirling brand variation */
.search-form-stirling .search-submit {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000000'%3E%3Cpath d='M15.5 14h-.79l-.28-.27a6.471 6.471 0 0 0 1.57-4.23C16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16a6.471 6.471 0 0 0 4.23-1.57l.27.28v.79L19 20.49 20.49 19l-4.99-5zM9.5 14C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z'/%3E%3C/svg%3E") !important;
}

/* =========================================================
   MOBILE IVORY SEARCH STYLES
   ---------------------------------------------------------
*/

/* Form layout */
.mobile-search-form {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    height: 32px;
    box-sizing: border-box;
    border-radius: 9999px;

    background-color: rgba(255, 255, 255, 0.15);
    border: 1px solid #d1d5d8;
}

/* Label should not affect layout */
.mobile-search-form > label {
    flex: 1 1 0%;
    min-width: 0;
    height: 100%;
    margin: 0;
    overflow: hidden;
}

/* Text input */
.mobile-search-form .search-field {
    width: calc(100%) !important;
    min-width: 0;
    height: 100%;

    border: 0;
    padding: 0 0 0 16px !important;
    font-family: Montserrat;
    font-size: 18px;
    font-weight: 500;

    background: transparent;
    outline: none;
}

/* Placeholder colour */
.mobile-search-form .search-field::placeholder {
    color: var(--e-global-color-primary);
}

/* Submit button (round) */
.mobile-search-form .search-submit {
    -webkit-appearance: none;
    appearance: none;

    width: 35px;
    height: 35px;
    flex: 0 0 35px;
    margin-right: -5px;
    border-radius: 50%;
    border: 0;
    padding: 0;

    background-color: var(--e-global-color-primary) !important;

    cursor: pointer;

    font-size: 0;
    line-height: 0;
    text-indent: -9999px;
    white-space: nowrap;

    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23ffffff'%3E%3Cpath d='M15.5 14h-.79l-.28-.27a6.471 6.471 0 0 0 1.57-4.23C16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16a6.471 6.471 0 0 0 4.23-1.57l.27.28v.79L19 20.49 20.49 19l-4.99-5zM9.5 14C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 22px 22px;
}

.mobile-search-form .search-field:focus {
    outline: none;
}

/* Stirling brand variant */
.mobile-search-form-stirling .search-submit {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000000'%3E%3Cpath d='M15.5 14h-.79l-.28-.27a6.471 6.471 0 0 0 1.57-4.23C16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16a6.471 6.471 0 0 0 4.23-1.57l.27.28v.79L19 20.49 20.49 19l-4.99-5zM9.5 14C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z'/%3E%3C/svg%3E") !important;
}
