/* NCF Consolidated Mega Menu -------------------------------------------------
 *
 * DO NOT EDIT THIS FILE to restyle the menu. It is overwritten when the plugin
 * is updated.
 *
 * Every colour, font and size is a custom property defined once in the :root
 * block below. To change any of them, paste the override block from INSTALL.md
 * into Avada > Global Options > Custom CSS. That is stored in the database, so
 * it survives theme and plugin updates, and it keeps the menu in one place with
 * the rest of the site's styling.
 *
 * Fonts default to `inherit`, so the menu follows Avada's global typography
 * without being told to.
 *
 * Contrast: every text pair below meets WCAG 2.1 AA (4.5:1), and every icon and
 * focus ring meets 3:1. Check any override you make before shipping it.
 * -------------------------------------------------------------------------- */

:root{
  /* surfaces */
  --ncf-navy:#1c3040;          /* nav bar background */
  --ncf-navy-hover:#24404f;    /* hovered / open top-level item */
  --ncf-panel-bg:#ffffff;
  --ncf-rail-bg:#f7f9fa;
  --ncf-pill-bg:#e7ebee;

  /* text */
  --ncf-ink:#1f2d38;           /* 14.1:1 on white */
  --ncf-muted:#5d6d79;         /* 5.3:1 on white, 5.1:1 on the rail */
  --ncf-quiet:#556571;         /* 5.0:1 on the pill background */
  --ncf-on-navy:#ffffff;       /* 13.6:1 on navy */
  --ncf-red:#9c2b2e;           /* 7.5:1 on white */

  /* scrollbars inside the menu. The site styles scrollbars in brand red, which is
     loud inside a dropdown. 3.5:1 on white, so the thumb stays visible. */
  --ncf-scroll-thumb:#7e8c97;
  --ncf-scroll-thumb-hover:#5d6d79;
  --ncf-scroll-size:6px;

  /* lines and icons */
  --ncf-nav-divider:transparent; /* vertical rules between top-level items. Set to
                                    rgba(255,255,255,.10) to bring them back */
  --ncf-line:#dfe4e8;
  --ncf-line-soft:#eef1f3;
  --ncf-icon:#65747f;          /* 4.6:1 on the rail, well past the 3:1 icons need */
  --ncf-flag-fill:var(--ncf-navy);   /* flag icon fill at rest */
  --ncf-current:var(--ncf-red);      /* the page the visitor is on, on light surfaces */
  --ncf-current-on-navy:transparent; /* "you are here" marker on the navy bar. Off by
                                        choice: it stayed lit on the section the visitor
                                        was in while they hovered a different one, which
                                        read as a stuck highlight. Set it to #d4a94b to
                                        bring the gold underline back. Never use burgundy
                                        here, it is only 1.8:1 on navy */

  /* focus rings. Red on light surfaces (7.5:1), amber on the navy bar (7.2:1) */
  --ncf-focus:#9c2b2e;
  --ncf-focus-on-navy:#e0b75c;

  /* type. Set to `inherit` to follow Avada's global typography instead. */
  --ncf-font-nav:Arial,Helvetica,sans-serif;   /* top-level labels and rail */
  --ncf-font-body:Arial,Helvetica,sans-serif;  /* lists, search, counts */
  --ncf-size-nav:14.5px;       /* Arial's x-height is ~2% shorter than Roboto's, so
                                  14.5px here reads the same size as 14px Roboto.
                                  Use 14px if you would rather have the round number */
  --ncf-size-rail:15.5px;
  --ncf-size-item:13.8px;

  /* layout */
  --ncf-breakpoint:900;       /* px width below which the mobile drawer takes over */
  --ncf-nav-align:center;      /* top-level items: center, flex-start or flex-end */
  --ncf-maxw:1240px;
  --ncf-rail-w:262px;
  --ncf-panel-h:624px;
}

.ncfmm{background:var(--ncf-navy);position:relative;z-index:500;
  display:flex;align-items:center}
.ncfmm *,.ncfmm-drawer *{box-sizing:border-box}
.ncfmm__inner{max-width:var(--ncf-maxw);width:100%;margin:0 auto;position:relative}
.ncfmm__list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap}
.ncfmm__li{position:relative;display:flex;align-items:stretch;
  border-right:1px solid var(--ncf-nav-divider)}
.ncfmm__li:first-child{border-left:1px solid var(--ncf-nav-divider)}
.ncfmm__link{font-family:var(--ncf-font-nav);font-size:var(--ncf-size-nav);line-height:1.2;
  color:var(--ncf-on-navy);padding:15px 16px;display:flex;align-items:center;white-space:nowrap;
  text-decoration:none}
.ncfmm__link:hover,.ncfmm__link:focus{color:var(--ncf-on-navy);text-decoration:none}
.ncfmm__li--has .ncfmm__link{padding-right:4px}
.ncfmm__caret{padding:0 16px 0 4px;display:flex;align-items:center;color:#d4dbe0;
  background:none;border:0;cursor:pointer}
.ncfmm__caret svg{transition:transform .18s ease}
.ncfmm__li:hover>.ncfmm__link,.ncfmm__li:hover>.ncfmm__caret,
.ncfmm__li.is-open>.ncfmm__link,.ncfmm__li.is-open>.ncfmm__caret{
  background:var(--ncf-navy-hover);color:var(--ncf-on-navy)}
.ncfmm__li.is-open>.ncfmm__caret svg{transform:rotate(180deg)}

/* current page. Text and icon go burgundy, and the weight lifts so it stays
   distinguishable from the plain red hover state. On the navy bar red text would fail
   contrast, so the current top-level item keeps white text and gets a red underline. */
.ncfmm__li.is-current > .ncfmm__link{box-shadow:inset 0 -4px 0 var(--ncf-current-on-navy)}
.ncfmm__railbtn.is-current{color:var(--ncf-current);font-weight:600}
.ncfmm__items li.is-current > a{color:var(--ncf-current);font-weight:600}
.ncfmm-row.is-current{color:var(--ncf-current);font-weight:600;--ncf-flag-fill:var(--ncf-current)}
.ncfmm-row.is-current .ncfmm-icon{color:var(--ncf-current)}

/* focus rings */
.ncfmm :focus-visible,.ncfmm-drawer :focus-visible{outline:2px solid var(--ncf-focus);outline-offset:2px}
.ncfmm__link:focus-visible,.ncfmm__caret:focus-visible,.ncfmm__burger:focus-visible,
.ncfmm-drawer__head :focus-visible{outline-color:var(--ncf-focus-on-navy)}

/* ---- desktop panel ---- */
.ncfmm__panel{position:absolute;top:100%;left:0;display:none;background:var(--ncf-panel-bg);
  box-shadow:0 22px 48px rgba(16,32,42,.22);border:1px solid var(--ncf-line);
  border-top:3px solid var(--ncf-red);border-radius:0 0 4px 4px;z-index:600}
.ncfmm__li.is-open .ncfmm__panel{display:flex}
.ncfmm__rail{width:var(--ncf-rail-w);flex:0 0 var(--ncf-rail-w);background:var(--ncf-rail-bg);
  border-right:1px solid var(--ncf-line);padding:10px 0;max-height:var(--ncf-panel-h);overflow:auto}
.ncfmm__railbtn{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:11px 14px 11px 18px;font-family:var(--ncf-font-nav);font-size:var(--ncf-size-rail);
  line-height:1.25;color:var(--ncf-ink);text-align:left;background:none;border:0;cursor:pointer}
.ncfmm__railbtn .ncfmm__chev{color:var(--ncf-icon);flex:0 0 auto}
.ncfmm__railbtn:hover,.ncfmm__railbtn.is-active{background:var(--ncf-panel-bg);color:var(--ncf-red);
  box-shadow:inset 3px 0 0 var(--ncf-red)}
.ncfmm__railbtn.is-active .ncfmm__chev{color:var(--ncf-red)}
.ncfmm__railbtn.is-soon{color:var(--ncf-muted);cursor:default}
.ncfmm__railbtn.is-soon:hover{background:transparent;color:var(--ncf-muted);box-shadow:none}
.ncfmm__pill{font-family:var(--ncf-font-body);font-size:10px;letter-spacing:.06em;
  text-transform:uppercase;background:var(--ncf-pill-bg);color:var(--ncf-quiet);
  border-radius:20px;padding:3px 7px;white-space:nowrap}

.ncfmm__pane{display:none;padding:16px 20px 24px;max-height:var(--ncf-panel-h);overflow:auto;
  min-width:300px;font-family:var(--ncf-font-body);
  --ncf-fade:linear-gradient(to bottom,#000 calc(100% - 26px),transparent 100%)}
.ncfmm__pane.is-active{display:block}
.ncfmm__pane.is-scrollable{-webkit-mask-image:var(--ncf-fade);mask-image:var(--ncf-fade)}
.ncfmm__panehead{display:flex;align-items:baseline;justify-content:space-between;gap:16px;
  padding-bottom:10px;margin-bottom:10px;border-bottom:1px solid var(--ncf-line-soft)}
.ncfmm__panetitle{font-family:var(--ncf-font-nav);font-size:17px;color:var(--ncf-navy);margin:0;
  white-space:nowrap}
.ncfmm__all{font-size:12.5px;color:var(--ncf-red);white-space:nowrap;text-decoration:none;
  border-bottom:1px solid rgba(156,43,46,.35)}
.ncfmm__note{font-size:12px;color:#7a5119;background:#fdf6e6;border:1px solid #e6d3a6;
  border-radius:4px;padding:7px 9px;margin:0 0 10px}
.ncfmm__search{position:relative;margin-bottom:12px}
.ncfmm__search input{width:100%;font-family:var(--ncf-font-body);font-size:14px;
  padding:9px 42px 9px 32px;border:1px solid var(--ncf-line);border-radius:4px;
  background:var(--ncf-panel-bg);color:var(--ncf-ink);box-shadow:none}
.ncfmm__search input::placeholder{color:var(--ncf-muted);opacity:1}
.ncfmm__search input::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none}
.ncfmm__search .ncfmm__ico{position:absolute;left:10px;top:50%;transform:translateY(-50%);
  color:var(--ncf-icon);pointer-events:none}
.ncfmm__clear{position:absolute;right:2px;top:50%;transform:translateY(-50%);color:var(--ncf-muted);
  display:none;align-items:center;justify-content:center;min-width:36px;min-height:36px;
  background:none;border:0;cursor:pointer;border-radius:4px}
.ncfmm__search.has-value .ncfmm__clear{display:flex}
.ncfmm__count{font-size:11.5px;color:var(--ncf-muted);margin:0 0 8px}
.ncfmm__items{list-style:none;margin:0;padding:0}
.ncfmm__items.c2{column-count:2;column-gap:26px}
.ncfmm__items.c3{column-count:3;column-gap:26px}
.ncfmm__items li{break-inside:avoid;margin:0}
.ncfmm__items a,.ncfmm__dead{display:block;padding:5.5px 8px 5.5px 10px;font-size:var(--ncf-size-item);
  line-height:1.3;color:var(--ncf-ink);border-radius:3px;text-decoration:none}
.ncfmm__items a:hover,.ncfmm__items a:focus{background:#f2f5f7;color:var(--ncf-red);text-decoration:none}
.ncfmm__items li.is-pinned a{font-weight:600;color:var(--ncf-navy)}
.ncfmm__dead{color:var(--ncf-muted);cursor:default}
.ncfmm mark,.ncfmm-drawer mark{background:#fdf0c9;color:var(--ncf-ink);padding:0 1px;border-radius:2px}
.ncfmm__empty{font-size:13px;color:var(--ncf-muted);padding:10px 2px;margin:0}
.ncfmm__empty a{color:var(--ncf-red)}

/* ---- compact bar below the breakpoint ---- */
.ncfmm__mobilebar{display:none;align-items:center;justify-content:flex-end;gap:2px;
  padding:0 6px;min-height:52px}
.ncfmm__iconbtn{display:flex;align-items:center;justify-content:center;gap:8px;
  min-width:44px;min-height:44px;padding:0 8px;color:var(--ncf-on-navy);
  font-family:var(--ncf-font-nav);font-size:var(--ncf-size-nav);
  background:none;border:0;cursor:pointer;text-decoration:none}
.ncfmm__iconbtn:hover,.ncfmm__iconbtn:focus{color:var(--ncf-on-navy);text-decoration:none}
.ncfmm__burgerlabel:empty{display:none}

/* ---- mobile drawer ---- */
.ncfmm-scrim{position:fixed;inset:0;background:rgba(12,22,29,.5);opacity:0;pointer-events:none;
  transition:opacity .22s;z-index:99998}
.ncfmm-drawer{position:fixed;top:0;bottom:0;left:0;width:min(92vw,400px);background:var(--ncf-panel-bg);
  z-index:99999;transform:translateX(-102%);transition:transform .26s cubic-bezier(.3,.7,.3,1);
  display:flex;flex-direction:column;box-shadow:0 0 40px rgba(0,0,0,.3);font-family:var(--ncf-font-body)}
body.ncfmm-open{overflow:hidden}
body.ncfmm-open .ncfmm-drawer{transform:none}
body.ncfmm-open .ncfmm-scrim{opacity:1;pointer-events:auto}
.ncfmm-drawer__head{display:flex;align-items:center;gap:6px;background:var(--ncf-navy);
  color:var(--ncf-on-navy);padding:6px 8px;min-height:56px}
.ncfmm-drawer__back,.ncfmm-drawer__close{display:none;align-items:center;justify-content:center;
  min-width:44px;min-height:44px;color:var(--ncf-on-navy);background:none;border:0;cursor:pointer}
.ncfmm-drawer__close{display:flex}
.ncfmm-drawer.lvl-1 .ncfmm-drawer__back,.ncfmm-drawer.lvl-2 .ncfmm-drawer__back{display:flex}
.ncfmm-drawer__title{font-family:var(--ncf-font-nav);font-size:17px;flex:1;padding:0 4px;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ncfmm-drawer__view{flex:1;overflow:hidden;position:relative}
.ncfmm-drawer__track{display:flex;width:300%;height:100%;transition:transform .26s cubic-bezier(.3,.7,.3,1)}
.ncfmm-drawer.lvl-1 .ncfmm-drawer__track{transform:translateX(-33.3333%)}
.ncfmm-drawer.lvl-2 .ncfmm-drawer__track{transform:translateX(-66.6667%)}
.ncfmm-drawer__pane{width:33.3333%;height:100%;overflow-y:auto;-webkit-overflow-scrolling:touch;
  padding:0 0 40px}
.ncfmm-drawer ul{list-style:none;margin:0;padding:0}
.ncfmm-drawer li{border-bottom:1px solid var(--ncf-line-soft);margin:0}
.ncfmm-row{display:flex;align-items:center;width:100%;min-height:52px;padding:12px 16px;
  font-size:15.5px;line-height:1.3;gap:14px;text-align:left;color:var(--ncf-ink);background:none;
  border:0;cursor:pointer;text-decoration:none}
.ncfmm-row .ncfmm-grow{flex:1}
.ncfmm-row .ncfmm-icon{flex:0 0 auto;color:var(--ncf-icon)}
.ncfmm-row.is-head .ncfmm-icon,.ncfmm-row.is-soon .ncfmm-icon{color:currentColor;opacity:.85}
.ncfmm-row .ncfmm__chev{color:var(--ncf-icon);flex:0 0 auto}
.ncfmm-row:active{background:#f2f5f7}
.ncfmm-row.is-soon{color:var(--ncf-muted);cursor:default}
.ncfmm-row.is-head{font-family:var(--ncf-font-nav);color:var(--ncf-red);font-size:14.5px;
  min-height:48px;background:var(--ncf-rail-bg);border-bottom:1px solid var(--ncf-line)}
.ncfmm-msearch{padding:12px 16px;border-bottom:1px solid var(--ncf-line);position:sticky;top:0;
  background:var(--ncf-panel-bg);z-index:2}
.ncfmm-msearch .ncfmm__search{margin:0}
.ncfmm-msearch .ncfmm__search input{min-height:44px}
.ncfmm-msearch .ncfmm__clear{min-width:44px;min-height:44px}
.ncfmm-mnote{font-size:12px;color:#7a5119;background:#fdf6e6;border-bottom:1px solid #e6d3a6;
  padding:9px 16px}

/* Utility items. In the menu so small screens can reach them, out of the desktop
   bar because the header already carries search, account and cart above it. */
html[data-ncfmm="desktop"] .ncfmm__li--mobile-only{display:none !important}
.ncfmm-drawer .ncfmm-row.is-utility-start{border-top:1px solid var(--ncf-line) !important}
.ncfmm-drawer li:has(> .is-utility-start){margin-top:8px !important}

/* ---- mode switch, set by JS ---- */
html[data-ncfmm="mobile"] .ncfmm .ncfmm__list{display:none !important}
html[data-ncfmm="mobile"] .ncfmm .ncfmm__mobilebar{display:flex !important}
html[data-ncfmm="mobile"] .ncfmm .ncfmm__inner{display:flex !important;justify-content:flex-end !important;align-items:center !important}
html[data-ncfmm="desktop"] .ncfmm .ncfmm__mobilebar{display:none !important}
html[data-ncfmm="desktop"] .ncfmm-drawer,html[data-ncfmm="desktop"] .ncfmm-scrim{display:none}

@media (prefers-reduced-motion:reduce){
  .ncfmm-drawer,.ncfmm-drawer__track,.ncfmm-scrim,.ncfmm__caret svg{transition:none}
}

/* ---------------------------------------------------------------------------
 * Colour guard.
 *
 * Avada styles links across the whole header with a selector that outranks this
 * component's own rules, which turned the menu text dark maroon on the navy bar.
 * These declarations are scoped to .ncfmm and .ncfmm-drawer and only restate
 * colours already defined above, so they cannot leak into the rest of the site.
 * The !important is deliberate: a drop-in component has to hold its own colours
 * against whatever the theme sets, and a specificity race against Avada's header
 * selectors is not winnable in a way that stays stable across theme updates.
 * ------------------------------------------------------------------------- */
.ncfmm .ncfmm__link,
.ncfmm .ncfmm__link:link,
.ncfmm .ncfmm__link:visited,
.ncfmm .ncfmm__link:hover,
.ncfmm .ncfmm__link:focus,
.ncfmm .ncfmm__link:active,
.ncfmm .ncfmm__burger,
.ncfmm .ncfmm__iconbtn,
.ncfmm .ncfmm__iconbtn:link,
.ncfmm .ncfmm__iconbtn:visited{color:var(--ncf-on-navy) !important}
.ncfmm .ncfmm__caret{color:#d4dbe0 !important}

.ncfmm .ncfmm__railbtn{color:var(--ncf-ink) !important}
.ncfmm .ncfmm__railbtn:hover,
.ncfmm .ncfmm__railbtn.is-active{color:var(--ncf-red) !important}
.ncfmm .ncfmm__railbtn.is-soon,
.ncfmm .ncfmm__railbtn.is-soon:hover{color:var(--ncf-muted) !important}
.ncfmm .ncfmm__railbtn.is-current{color:var(--ncf-current) !important}

.ncfmm .ncfmm__panetitle{color:var(--ncf-navy) !important}
.ncfmm .ncfmm__all,
.ncfmm .ncfmm__all:link,
.ncfmm .ncfmm__all:visited,
.ncfmm .ncfmm__empty a{color:var(--ncf-red) !important}
.ncfmm .ncfmm__count,
.ncfmm .ncfmm__empty,
.ncfmm .ncfmm__dead,
.ncfmm .ncfmm__search input::placeholder{color:var(--ncf-muted) !important}
.ncfmm .ncfmm__search input{color:var(--ncf-ink) !important}

.ncfmm .ncfmm__items a,
.ncfmm .ncfmm__items a:link,
.ncfmm .ncfmm__items a:visited{color:var(--ncf-ink) !important}
.ncfmm .ncfmm__items a:hover,
.ncfmm .ncfmm__items a:focus{color:var(--ncf-red) !important}
.ncfmm .ncfmm__items li.is-pinned > a{color:var(--ncf-navy) !important}
.ncfmm .ncfmm__items li.is-current > a{color:var(--ncf-current) !important}

.ncfmm-drawer .ncfmm-row,
.ncfmm-drawer .ncfmm-row:link,
.ncfmm-drawer .ncfmm-row:visited{color:var(--ncf-ink) !important}
.ncfmm-drawer .ncfmm-row.is-head{color:var(--ncf-red) !important}
.ncfmm-drawer .ncfmm-row.is-soon{color:var(--ncf-muted) !important}
.ncfmm-drawer .ncfmm-row.is-current{color:var(--ncf-current) !important}
.ncfmm-drawer .ncfmm-drawer__head,
.ncfmm-drawer .ncfmm-drawer__head button,
.ncfmm-drawer .ncfmm-drawer__title{color:var(--ncf-on-navy) !important}

/* ---------------------------------------------------------------------------
 * Structure guard.
 *
 * Avada styles widgets, lists and headings with selectors that outrank this
 * component, which was collapsing the bar to 32px, dropping the carets onto a
 * second line, drawing hairline separators between items, centring the panel
 * text and rendering the panel headings at 30px. These re-assert the
 * component's own layout. Everything is scoped to .ncfmm or .ncfmm-drawer, so
 * none of it can affect anything else on the site.
 * ------------------------------------------------------------------------- */
.ncfmm .ncfmm__list{display:flex !important;flex-wrap:wrap !important;
  justify-content:var(--ncf-nav-align,center) !important;align-items:stretch !important;
  margin:0 !important;padding:0 !important;list-style:none !important;height:auto !important}
.ncfmm .ncfmm__li{display:flex !important;align-items:stretch !important;position:relative !important;
  margin:0 !important;padding:0 !important;border:0 !important;height:auto !important;
  list-style:none !important;float:none !important}
.ncfmm .ncfmm__li::before,.ncfmm .ncfmm__li::after{content:none !important;display:none !important}
.ncfmm{display:flex !important;align-items:center !important}
.ncfmm .ncfmm__inner{width:100% !important}
.ncfmm .ncfmm__link{display:flex !important;align-items:center !important;
  font-size:var(--ncf-size-nav) !important;line-height:1.2 !important;
  padding:15px 16px !important;text-decoration:none !important;border:0 !important;
  height:auto !important}
.ncfmm .ncfmm__li--has .ncfmm__link{padding-right:4px !important}
.ncfmm .ncfmm__caret{padding:0 16px 0 4px !important;order:0 !important}
.ncfmm .ncfmm__caret{display:flex !important;align-items:center !important;border:0 !important;
  height:auto !important;box-shadow:none !important}

.ncfmm .ncfmm__panel,.ncfmm .ncfmm__rail,.ncfmm .ncfmm__pane{text-align:left !important}
.ncfmm .ncfmm__panetitle{font-family:var(--ncf-font-nav) !important;font-size:17px !important;
  line-height:1.3 !important;margin:0 !important;padding:0 !important;
  letter-spacing:normal !important;text-transform:none !important;font-weight:700 !important}
.ncfmm .ncfmm__items{margin:0 !important;padding:0 !important;list-style:none !important}
.ncfmm .ncfmm__items li{margin:0 !important;padding:0 !important;border:0 !important;
  list-style:none !important;float:none !important}
.ncfmm .ncfmm__items li::before,.ncfmm .ncfmm__items li::after{content:none !important;display:none !important}
.ncfmm .ncfmm__items a,.ncfmm .ncfmm__dead{display:block !important;
  font-size:var(--ncf-size-item) !important;line-height:1.3 !important;
  text-decoration:none !important;border:0 !important}
.ncfmm .ncfmm__railbtn{display:flex !important;font-size:var(--ncf-size-rail) !important;
  line-height:1.25 !important;border:0 !important;text-align:left !important;margin:0 !important;
  height:auto !important;text-transform:none !important;letter-spacing:normal !important}
.ncfmm .ncfmm__search input{font-size:14px !important;line-height:normal !important;height:auto !important;
  margin:0 !important;text-align:left !important;text-transform:none !important;
  min-height:0 !important;max-width:none !important}
.ncfmm .ncfmm__pill{font-size:10px !important;line-height:1.4 !important;margin:0 !important}

.ncfmm-drawer ul,.ncfmm-drawer li{margin:0 !important;padding:0 !important;list-style:none !important;
  float:none !important}
.ncfmm-drawer li::before,.ncfmm-drawer li::after{content:none !important;display:none !important}
.ncfmm-drawer li{border-bottom:1px solid var(--ncf-line-soft) !important}
.ncfmm-drawer .ncfmm-row{display:flex !important;align-items:center !important;
  text-decoration:none !important;text-align:left !important;border:0 !important;
  font-size:15.5px !important;line-height:1.3 !important;text-transform:none !important}
.ncfmm-drawer .ncfmm-msearch input{font-size:15px !important;height:auto !important;margin:0 !important}

/* Top-level alignment. --ncf-nav-align takes any flex value:
   center (default), flex-start to sit left, flex-end to sit right. */
.ncfmm *,.ncfmm-drawer *{box-sizing:border-box !important}
.ncfmm .ncfmm__search{position:relative !important;margin:0 0 12px !important}
.ncfmm .ncfmm__search input{padding:9px 42px 9px 34px !important;border:1px solid var(--ncf-line) !important;
  border-radius:4px !important;background:var(--ncf-panel-bg) !important;width:100% !important;
  box-shadow:none !important;letter-spacing:normal !important}
.ncfmm .ncfmm__search .ncfmm__ico{position:absolute !important;left:11px !important;top:50% !important;
  transform:translateY(-50%) !important;margin:0 !important}
.ncfmm .ncfmm__clear{position:absolute !important;right:3px !important;top:50% !important;
  transform:translateY(-50%) !important;margin:0 !important;padding:0 !important}
.ncfmm .ncfmm__count{margin:0 0 8px !important;font-size:11.5px !important;line-height:1.4 !important}
.ncfmm .ncfmm__panehead{display:flex !important;align-items:baseline !important;
  justify-content:space-between !important;gap:16px !important;margin:0 0 10px !important;
  padding:0 0 10px !important}
.ncfmm .ncfmm__all{font-size:12.5px !important;line-height:1.3 !important}

.ncfmm-drawer .ncfmm-msearch .ncfmm__search{margin:0 !important}
.ncfmm-drawer .ncfmm-msearch input{padding:11px 46px 11px 34px !important;width:100% !important}
.ncfmm-drawer .ncfmm-msearch .ncfmm__ico{position:absolute !important;left:11px !important}
.ncfmm-drawer .ncfmm-msearch .ncfmm__clear{position:absolute !important;right:3px !important}

/* Scrollbars inside the menu only. Scoped so the rest of the site keeps whatever it uses. */
.ncfmm .ncfmm__rail,.ncfmm .ncfmm__pane,.ncfmm-drawer .ncfmm-drawer__pane{
  scrollbar-width:thin !important;
  scrollbar-color:var(--ncf-scroll-thumb) transparent !important}
.ncfmm .ncfmm__rail::-webkit-scrollbar,
.ncfmm .ncfmm__pane::-webkit-scrollbar,
.ncfmm-drawer .ncfmm-drawer__pane::-webkit-scrollbar{
  width:var(--ncf-scroll-size) !important;height:var(--ncf-scroll-size) !important;
  background:transparent !important}
.ncfmm .ncfmm__rail::-webkit-scrollbar-track,
.ncfmm .ncfmm__pane::-webkit-scrollbar-track,
.ncfmm-drawer .ncfmm-drawer__pane::-webkit-scrollbar-track{
  background:transparent !important;box-shadow:none !important;border:0 !important}
.ncfmm .ncfmm__rail::-webkit-scrollbar-thumb,
.ncfmm .ncfmm__pane::-webkit-scrollbar-thumb,
.ncfmm-drawer .ncfmm-drawer__pane::-webkit-scrollbar-thumb{
  background:var(--ncf-scroll-thumb) !important;border-radius:99px !important;
  border:0 !important;box-shadow:none !important}
.ncfmm .ncfmm__rail::-webkit-scrollbar-thumb:hover,
.ncfmm .ncfmm__pane::-webkit-scrollbar-thumb:hover,
.ncfmm-drawer .ncfmm-drawer__pane::-webkit-scrollbar-thumb:hover{
  background:var(--ncf-scroll-thumb-hover) !important}
.ncfmm .ncfmm__rail::-webkit-scrollbar-corner,
.ncfmm .ncfmm__pane::-webkit-scrollbar-corner{background:transparent !important}

/* Bar search. The magnifying glass opens a field here rather than navigating to an
   empty results page. */
.ncfmm__barsearch{padding:0 8px 10px}
.ncfmm .ncfmm__barsearch .ncfmm__search{margin:0 !important}
.ncfmm .ncfmm__barsearch input{min-height:44px !important;background:#fff !important}
.ncfmm .ncfmm__barsearch .ncfmm__clear{display:flex !important;min-width:44px !important;min-height:44px !important}
html[data-ncfmm="desktop"] .ncfmm .ncfmm__barsearch{display:none !important}
html[data-ncfmm="mobile"] .ncfmm .ncfmm__inner{flex-wrap:wrap !important}
html[data-ncfmm="mobile"] .ncfmm .ncfmm__mobilebar{flex:0 0 100% !important}
html[data-ncfmm="mobile"] .ncfmm .ncfmm__barsearch{flex:0 0 100% !important}
.ncfmm__searchtoggle[aria-expanded="true"]{background:var(--ncf-navy-hover) !important;border-radius:4px}



/* "View all" row at the top of the rail. The top-level label opens the panel rather than
   navigating, so this is how the landing page is reached. */
.ncfmm .ncfmm__railall{display:block !important;padding:11px 18px !important;
  font-family:var(--ncf-font-nav) !important;font-size:13px !important;line-height:1.3 !important;
  color:var(--ncf-red) !important;text-decoration:none !important;border:0 !important;
  border-bottom:1px solid var(--ncf-line) !important;margin:0 0 6px !important;
  background:var(--ncf-panel-bg) !important}
.ncfmm .ncfmm__railall:hover,.ncfmm .ncfmm__railall:focus{background:#f2f5f7 !important}
.ncfmm__li--has .ncfmm__link{cursor:pointer}
