/* ==========================================================================
   Ear Wax Specialist — Mega Menu
   All colours, fonts, widths and the breakpoint come from CSS custom
   properties injected by the plugin (Settings → Mega Menu).
   Everything is namespaced .ewsm- so it cannot collide with your theme.
   ========================================================================== */

.ewsm,
.ewsm *,
.ewsm *::before,
.ewsm *::after { box-sizing: border-box; }

/* ==========================================================================
   THEME ARMOUR
   Themes and page builders (Elementor, Astra, Divi, etc.) style bare <button>,
   <a>, <ul>, <li> and heading elements. Those rules leak into the menu — the
   usual symptom is the dropdown buttons picking up the theme's button colour.
   Everything below is scoped to .ewsm and uses !important deliberately, so the
   menu renders identically no matter which theme it is dropped into.
   Remove this block only if you WANT the theme to style the menu.
   ========================================================================== */
.ewsm button,
.ewsm a,
.ewsm ul,
.ewsm li,
.ewsm p,
.ewsm h2,
.ewsm h3,
.ewsm h4,
.ewsm img,
.ewsm span,
.ewsm div {
  text-transform: none !important;
  letter-spacing: normal !important;
  text-shadow: none !important;
  float: none !important;
}

.ewsm button {
  -webkit-appearance: none !important;
  appearance: none !important;
  background-image: none !important;
  background-color: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  margin: 0 !important;
  padding: 0;
  min-width: 0 !important;
  min-height: 0 !important;
  width: auto;
  height: auto;
  line-height: inherit;
  /* Every button in this menu uses the heading face. Declared here with
     !important so a theme's `button { font-family: … !important }` cannot
     win — that is the usual cause of the menu suddenly rendering in a serif. */
  font-family: var(--ewsm-f-head) !important;
  color: inherit;
  outline-offset: 0;
  transition: none;
}

.ewsm a {
  text-decoration: none !important;
  border-bottom: 0 !important;
  background-image: none !important;
}

.ewsm ul,
.ewsm li {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  background: none !important;
  border: 0 !important;
}
.ewsm li::before,
.ewsm li::marker { content: none !important; }

.ewsm h2,
.ewsm h3,
.ewsm h4 {
  margin: 0;
  padding: 0 !important;
  border: 0 !important;
  background: none !important;
  text-align: left !important;
}
.ewsm h2::after, .ewsm h3::after, .ewsm h4::after,
.ewsm h2::before, .ewsm h3::before, .ewsm h4::before { content: none !important; }

.ewsm p { margin: 0; padding: 0 !important; }

.ewsm img {
  max-width: 100%;
  border: 0 !important;
  border-radius: 0;
  box-shadow: none !important;
  padding: 0 !important;
  background: none !important;
}
/* -------------------- end theme armour -------------------- */

.ewsm {
  --ewsm-r-lg: 22px;
  --ewsm-r-md: 14px;
  --ewsm-r-sm: 10px;
  --ewsm-pill: 999px;
  --ewsm-shadow: 0 22px 60px rgba(12,42,71,.18);
  --ewsm-shadow-btn: 0 4px 14px rgba(16,49,84,.22);
  --ewsm-ease: cubic-bezier(.22,.7,.3,1);

  position: relative;
  z-index: 999;
  font-family: var(--ewsm-f-body);
  color: var(--ewsm-text);
  line-height: 1.5;
}

.ewsm--sticky { position: sticky; top: 0; }
.ewsm-bar { overflow-x: clip; }

.ewsm-wrap {
  max-width: var(--ewsm-max);
  margin: 0 auto;
  padding-inline: 24px;
  width: 100%;
}

.ewsm-ico { display: inline-flex; flex: none; }
.ewsm-ico svg { width: 1em; height: 1em; display: block; }

/* ---------- top trust bar ---------- */
.ewsm-topbar {
  background: linear-gradient(90deg,
              var(--ewsm-tb-from) 0%,
              var(--ewsm-tb-mid) 50%,
              var(--ewsm-tb-to) 100%);
  color: #fff;
}
.ewsm-topbar__inner {
  display: flex;
  align-items: center;
  gap: var(--ewsm-tb-gap);
  flex-wrap: wrap;
  min-height: var(--ewsm-tb-h);
  font-family: var(--ewsm-f-head);
  font-size: var(--ewsm-tb-size);
  line-height: 1.2;
  padding-block: 6px;
}
.ewsm-topbar__inner.is-center  { justify-content: center; }
.ewsm-topbar__inner.is-left    { justify-content: flex-start; }
.ewsm-topbar__inner.is-right   { justify-content: flex-end; }
.ewsm-topbar__inner.is-between { justify-content: space-between; }

.ewsm-tb__text { font-weight: 600; white-space: nowrap; }
.ewsm-tb__text.is-bold { font-weight: 700; }
a.ewsm-tb__text { color: #fff; text-decoration: none; }
a.ewsm-tb__text:hover { text-decoration: underline; }

/* rating squares */
.ewsm-tb__stars { display: inline-flex; gap: 2px; }
.ewsm-tb__star {
  width: 1.05em; height: 1.05em;
  background: #00B67A;
  display: grid; place-items: center;
}
.ewsm-tb__star svg { width: .8em; height: .8em; display: block; }

/* brand marks */
.ewsm-tb__mark { display: inline-flex; align-items: center; }
.ewsm-tb__trustpilot { gap: 5px; }
.ewsm-tb__tpstar { width: 1.15em; height: 1.15em; display: block; }
.ewsm-tb__tpword {
  font-weight: 700; color: #fff; letter-spacing: -.02em;
  font-size: .95em;
}
.ewsm-tb__google {
  font-family: var(--ewsm-f-head);
  font-weight: 700; font-size: 1.15em; letter-spacing: -.02em;
}
.ewsm-tb__img { display: block; width: auto; }

.ewsm-tb__phone {
  display: inline-flex; align-items: center; gap: 7px;
  color: #fff; text-decoration: none;
  font-weight: 600; font-size: 1em; white-space: nowrap;
  transition: color .16s var(--ewsm-ease);
}
.ewsm-tb__phone:hover { color: #9FE8D3; }
.ewsm-tb__phone .ewsm-ico { font-size: 1em; }

/* ---------- nav bar ---------- */
.ewsm-bar { background: #fff; }
.ewsm-bar__inner {
  display: flex; align-items: center; gap: 10px;
  min-height: 78px;
  flex-wrap: nowrap;
  overflow: visible;
  /* Positioning context for the mega panel, so the dropdown lines up with the
     container width set in settings rather than spanning the whole viewport. */
  position: relative;
}

.ewsm-logo {
  display: inline-flex; align-items: center; margin-right: 14px;
  flex: 0 0 auto; min-width: 0; text-decoration: none;
}
.ewsm-logo img { height: auto; display: block; max-width: 100%; }
.ewsm-logo__text {
  font-family: var(--ewsm-f-head); font-weight: 700; font-size: 19px;
  color: var(--ewsm-navy);
}

.ewsm-menu {
  display: flex; align-items: center; gap: 2px;
  list-style: none; margin: 0; padding: 0;
  flex-wrap: nowrap; min-width: 0;
}
.ewsm-menu__item { position: static; margin: 0; flex: 0 0 auto; }

.ewsm-menu__link {
  font-family: var(--ewsm-f-head) !important;
  font-weight: 600 !important; font-size: 15.5px !important;
  color: var(--ewsm-navy); cursor: pointer;
  padding: 11px 15px;
  border-radius: var(--ewsm-r-sm) !important;
  display: inline-flex; align-items: center; gap: 7px;
  text-decoration: none; line-height: 1.2;
  white-space: nowrap; flex: 0 0 auto;
  transition: color .18s var(--ewsm-ease), background .18s var(--ewsm-ease);
}
.ewsm-menu__link:hover,
.ewsm-menu__link:focus-visible {
  color: var(--ewsm-blue) !important;
  background-color: rgba(46,111,212,.07) !important;
  border-radius: var(--ewsm-r-sm) !important;
}
.ewsm-menu__link[aria-expanded="true"] { color: var(--ewsm-blue); }

.ewsm-caret {
  width: 9px; height: 9px;
  border-right: 2.2px solid currentColor; border-bottom: 2.2px solid currentColor;
  transform: rotate(45deg) translateY(-2px);
  transition: transform .25s var(--ewsm-ease);
}
.ewsm-menu__link[aria-expanded="true"] .ewsm-caret { transform: rotate(-135deg) translateY(-2px); }

/* Desktop menu alignment. The auto margins on .ewsm-menu absorb the free space,
   so the CTA always ends up hard right whichever option is chosen.
   !important is required here because the theme-armour block above resets
   `.ewsm ul { margin: 0 !important }`. */
.ewsm-bar__inner.is-menu-left   .ewsm-menu { margin-right: auto !important; }
.ewsm-bar__inner.is-menu-center .ewsm-menu { margin-left: auto !important; margin-right: auto !important; }
.ewsm-bar__inner.is-menu-right  .ewsm-menu { margin-left: auto !important; }

.ewsm-cta {
  flex: none;
  font-family: var(--ewsm-f-head); font-weight: 600; font-size: 15px;
  background: var(--ewsm-teal); color: #fff; text-decoration: none;
  padding: 13px 26px; border-radius: var(--ewsm-pill);
  box-shadow: var(--ewsm-shadow-btn); white-space: nowrap;
  transition: filter .18s var(--ewsm-ease), transform .18s var(--ewsm-ease);
}
.ewsm-cta:hover { filter: brightness(.92); transform: translateY(-1px); color: #fff; }

/* ---------- mega panel ---------- */
.ewsm-mega {
  position: absolute; left: 24px; right: 24px; top: 100%;
  background: var(--ewsm-panel);
  border-radius: var(--ewsm-r-lg);
  box-shadow: var(--ewsm-shadow);
  padding: 22px;
  opacity: 0; visibility: hidden; transform: translateY(-10px);
  transition: opacity .22s var(--ewsm-ease), transform .22s var(--ewsm-ease), visibility .22s;
}
.ewsm-menu__item--mega.is-open .ewsm-mega { opacity: 1; visibility: visible; transform: translateY(0); }

.ewsm-mega__grid { display: grid; grid-template-columns: 268px 1fr; gap: 20px; align-items: start; }

.ewsm-tabs { display: flex; flex-direction: column; gap: 9px; }
.ewsm .ewsm-tab {
  font-family: var(--ewsm-f-head) !important;
  font-weight: 600 !important; font-size: 15px !important; line-height: 1.3 !important;
  text-align: left !important; cursor: pointer;
  background-color: #fff !important; color: var(--ewsm-blue);
  border: 1.5px solid rgba(46,111,212,.28) !important;
  border-radius: var(--ewsm-r-md) !important;
  padding: 14px 16px; width: 100%;
  display: flex; align-items: center; justify-content: space-between; gap: 10px;
  transition: background .16s var(--ewsm-ease), color .16s var(--ewsm-ease),
              border-color .16s var(--ewsm-ease), transform .16s var(--ewsm-ease);
}
.ewsm .ewsm-tab:hover { border-color: var(--ewsm-blue) !important; transform: translateX(2px); }
.ewsm-tab[aria-selected="true"] {
  background-color: var(--ewsm-blue) !important;
  border-color: var(--ewsm-blue) !important;
  color: #fff !important;
  box-shadow: 0 6px 18px rgba(46,111,212,.3) !important;
}
.ewsm-tab__arrow { opacity: 0; transform: translateX(-4px); transition: all .16s var(--ewsm-ease); font-size: 17px; }
.ewsm-tab[aria-selected="true"] .ewsm-tab__arrow { opacity: 1; transform: translateX(0); }

.ewsm-panel { display: none; }
.ewsm-panel[data-active="true"] { display: block; animation: ewsm-fade .26s var(--ewsm-ease); }
@keyframes ewsm-fade { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }

.ewsm-card {
  background: var(--ewsm-card);
  border-radius: var(--ewsm-r-lg);
  padding: 18px;
  display: grid; grid-template-columns: 296px 1fr; gap: 20px; align-items: start;
}
.ewsm-card__media { border-radius: var(--ewsm-r-md); overflow: hidden; aspect-ratio: 4/3; background: rgba(255,255,255,.4); }
.ewsm-card__media img { width: 100%; height: 100%; object-fit: cover; display: block; }

.ewsm-card__title {
  font-family: var(--ewsm-f-head); font-weight: 700; font-size: 21px; line-height: 1.22;
  color: var(--ewsm-navy-dark); margin: 2px 0 9px; letter-spacing: -.01em;
}
.ewsm-card__text { font-size: 14.5px; line-height: 1.6; color: #22405F; margin: 0 0 13px; }

.ewsm-addr {
  font-size: 13.5px; color: var(--ewsm-navy); margin: 0 0 10px; font-weight: 600;
  display: flex; align-items: flex-start; gap: 7px;
}
.ewsm-addr .ewsm-ico { font-size: 14px; margin-top: 2px; }
.ewsm-addr.is-warn { color: #9A3412; }

.ewsm-points { list-style: none; margin: 0 0 14px; padding: 0; display: grid; gap: 7px; }
.ewsm-points li {
  font-size: 14px; color: var(--ewsm-navy-dark); font-weight: 500;
  display: flex; align-items: flex-start; gap: 9px; line-height: 1.45; margin: 0;
}
.ewsm-points li::before {
  content: ""; width: 16px; height: 16px; flex: none; margin-top: 2px; border-radius: 50%;
  background: var(--ewsm-teal) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center / 10px no-repeat;
}

.ewsm-chips { display: flex; flex-wrap: wrap; gap: 7px; margin: 0 0 15px; }
.ewsm-chip {
  font-family: var(--ewsm-f-head); font-size: 12.5px; font-weight: 600;
  background: rgba(255,255,255,.78); color: var(--ewsm-navy);
  padding: 6px 12px; border-radius: var(--ewsm-pill);
}
.ewsm-chip.is-primary { background: var(--ewsm-navy); color: #fff; }

.ewsm-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.ewsm-btn {
  font-family: var(--ewsm-f-head); font-weight: 600; font-size: 14.5px;
  text-decoration: none; border-radius: var(--ewsm-pill);
  padding: 12px 24px; display: inline-flex; align-items: center; justify-content: center; gap: 9px;
  box-shadow: var(--ewsm-shadow-btn); line-height: 1.2;
  border: 0;
  transition: transform .16s var(--ewsm-ease), filter .16s var(--ewsm-ease);
}
.ewsm-btn:hover { transform: translateY(-2px); }
.ewsm-btn--primary { background: var(--ewsm-navy); color: #fff; }
.ewsm-btn--primary:hover { background: var(--ewsm-navy-dark); color: #fff; }
.ewsm-btn--teal { background: var(--ewsm-teal); color: #fff; }
.ewsm-btn--teal:hover { filter: brightness(.92); color: #fff; }
.ewsm-btn--ghost { background: rgba(255,255,255,.85); color: var(--ewsm-navy); box-shadow: none; }
.ewsm-btn--ghost:hover { background: #fff; color: var(--ewsm-navy); }

/* Detail-page button.
   Outlined rather than filled so it reads as "read more" and does not
   compete with the primary Book / Call action beside it. */
.ewsm-btn--link {
  background: transparent; color: var(--ewsm-navy);
  border: 1.5px solid rgba(16,49,84,.32); box-shadow: none;
}
.ewsm-btn--link:hover { background: var(--ewsm-navy); color: #fff; border-color: var(--ewsm-navy); }
.ewsm-btn--link::after {
  content: "→"; font-size: 1.05em; line-height: 1;
  transition: transform .16s var(--ewsm-ease);
}
.ewsm-btn--link:hover::after { transform: translateX(3px); }

.ewsm-btn--sm { padding: 10px 18px; font-size: 13.5px; }
.ewsm-btn--block { width: 100%; }

@media (prefers-reduced-motion: reduce) {
  .ewsm-btn, .ewsm-btn--link::after { transition: none; }
  .ewsm-btn:hover { transform: none; }
  .ewsm-btn--link:hover::after { transform: none; }
}

/* help bar */
.ewsm-help {
  margin-top: 18px;
  background: linear-gradient(90deg, var(--ewsm-navy), #1E5578);
  border-radius: var(--ewsm-r-md);
  padding: 14px 20px;
  display: flex; align-items: center; gap: 14px; flex-wrap: wrap;
  color: #EAF4FF; font-size: 14.5px;
}
.ewsm-help__dot {
  width: 9px; height: 9px; border-radius: 50%; background: var(--ewsm-green); flex: none;
  box-shadow: 0 0 0 0 rgba(95,191,155,.7); animation: ewsm-pulse 2.4s infinite;
}
@keyframes ewsm-pulse {
  70%  { box-shadow: 0 0 0 11px rgba(95,191,155,0); }
  100% { box-shadow: 0 0 0 0 rgba(95,191,155,0); }
}
.ewsm-help__phone {
  margin-left: auto; font-family: var(--ewsm-f-head); font-weight: 700; font-size: 17px;
  color: #fff; text-decoration: none; display: inline-flex; align-items: center; gap: 9px;
  background: rgba(255,255,255,.13); padding: 9px 20px; border-radius: var(--ewsm-pill);
  transition: background .16s var(--ewsm-ease);
}
.ewsm-help__phone:hover { background: rgba(255,255,255,.24); color: #fff; }

/* ---------- hamburger ---------- */
.ewsm .ewsm-burger {
  display: none;
  /* Always hard right on tablet and mobile, whatever the desktop alignment. */
  margin-left: auto !important;
  order: 9;
  width: 46px !important; height: 46px !important;
  background-color: var(--ewsm-panel) !important;
  border-radius: 12px !important; cursor: pointer;
  flex-direction: column; align-items: center; justify-content: center; gap: 5px;
}
.ewsm-burger span {
  display: block; width: 22px; height: 2.4px; border-radius: 2px;
  background: var(--ewsm-navy);
  transition: transform .25s var(--ewsm-ease), opacity .2s var(--ewsm-ease);
}
.ewsm-burger[aria-expanded="true"] span:nth-child(1) { transform: translateY(7.4px) rotate(45deg); }
.ewsm-burger[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.ewsm-burger[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7.4px) rotate(-45deg); }

/* ---------- drawer ---------- */
.ewsm-scrim {
  position: fixed; inset: 0; background: rgba(9,28,48,.55);
  opacity: 0; transition: opacity .28s var(--ewsm-ease); z-index: 9998;
  backdrop-filter: blur(2px);
}
.ewsm-scrim.is-open { opacity: 1; }

.ewsm-drawer {
  position: fixed; top: 0; right: 0; bottom: 0;
  width: min(400px, 88vw);
  background: #fff; z-index: 9999;
  transform: translateX(100%);
  transition: transform .32s var(--ewsm-ease);
  display: flex; flex-direction: column;
  box-shadow: -18px 0 50px rgba(9,28,48,.28);
}
.ewsm-drawer.is-open { transform: translateX(0); }

/* `display:flex` above would otherwise beat the browser's [hidden] rule,
   leaving the closed drawer in the tab order and the accessibility tree. */
.ewsm-drawer[hidden],
.ewsm-scrim[hidden] { display: none; }

.ewsm-drawer__head {
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
  padding: 16px 18px; border-bottom: 1px solid rgba(46,111,212,.16);
  background: var(--ewsm-panel);
}
.ewsm-logo--drawer { margin: 0; }
.ewsm-logo--drawer img { max-width: 150px; }
.ewsm .ewsm-close {
  width: 40px !important; height: 40px !important; flex: none; cursor: pointer;
  background-color: #fff !important; border-radius: 10px !important;
  font-size: 26px; line-height: 1; color: var(--ewsm-navy);
}
.ewsm .ewsm-close:hover { background-color: var(--ewsm-blue) !important; color: #fff; }

.ewsm-drawer__body { flex: 1; overflow-y: auto; -webkit-overflow-scrolling: touch; padding: 8px 0 20px; }

.ewsm-acc { list-style: none; margin: 0; padding: 0; }
.ewsm-acc__item { border-bottom: 1px solid rgba(46,111,212,.14); margin: 0; }

.ewsm .ewsm-acc__link,
.ewsm .ewsm-acc__toggle {
  font-family: var(--ewsm-f-head) !important;
  font-weight: 600 !important; font-size: 16.5px !important;
  color: var(--ewsm-navy); text-decoration: none;
  width: 100%; text-align: left !important; cursor: pointer;
  padding: 17px 20px !important;
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
}
.ewsm-acc__toggle[aria-expanded="true"] { color: var(--ewsm-blue); }

.ewsm-acc__plus { position: relative; width: 15px; height: 15px; flex: none; }
.ewsm-acc__plus::before,
.ewsm-acc__plus::after {
  content: ""; position: absolute; background: currentColor; border-radius: 2px;
  transition: transform .25s var(--ewsm-ease), opacity .2s var(--ewsm-ease);
}
.ewsm-acc__plus::before { top: 6.3px; left: 0; width: 15px; height: 2.4px; }
.ewsm-acc__plus::after  { left: 6.3px; top: 0; width: 2.4px; height: 15px; }
.ewsm-acc__toggle[aria-expanded="true"] .ewsm-acc__plus::after { transform: rotate(90deg); opacity: 0; }

.ewsm-acc__body { padding: 0 20px 16px; }

.ewsm-mini {
  background: var(--ewsm-panel);
  border-radius: var(--ewsm-r-md);
  padding: 14px 16px;
  margin-bottom: 10px;
}
.ewsm-mini:last-child { margin-bottom: 0; }
.ewsm-mini__title {
  font-family: var(--ewsm-f-head); font-weight: 700; font-size: 15px;
  color: var(--ewsm-navy-dark); text-decoration: none; display: block; margin-bottom: 6px;
  line-height: 1.3;
}
a.ewsm-mini__title:hover { color: var(--ewsm-blue); }
.ewsm-mini__addr { font-size: 12.5px; color: var(--ewsm-navy); margin: 0 0 8px; font-weight: 600; line-height: 1.4; }
.ewsm-mini__addr.is-warn { color: #9A3412; }
.ewsm-chips--mini { margin-bottom: 10px; }
.ewsm-chips--mini .ewsm-chip { background: rgba(255,255,255,.9); font-size: 11.5px; padding: 5px 10px; }
.ewsm-actions--mini { gap: 8px; }

.ewsm-drawer__foot {
  padding: 16px 18px; border-top: 1px solid rgba(46,111,212,.16);
  background: var(--ewsm-panel);
  display: grid; gap: 10px;
}

/* ---------- responsive ---------- */
@media (max-width: 1200px) {
  .ewsm-card { grid-template-columns: 240px 1fr; }
  .ewsm-mega__grid { grid-template-columns: 240px 1fr; }
}

/* NOTE: the hamburger breakpoint rules are generated by PHP from the
   "Hamburger breakpoint" setting, because a CSS custom property cannot be used
   inside a @media query. See EWSM_Render::responsive_css().
   The rules below are the no-JS/no-inline fallback only. */
@media (max-width: 1280px) {
  .ewsm .ewsm-menu,
  .ewsm .ewsm-cta { display: none; }
  .ewsm .ewsm-burger { display: flex; }
}

@media (max-width: 640px) {
  .ewsm-wrap { padding-inline: 16px; }
  .ewsm-topbar__inner {
    gap: 10px 14px;
    font-size: calc(var(--ewsm-tb-size) - 3px);
    padding-block: 9px;
  }
  /* Keep the phone and the rating; drop the wordier items so the bar
     stays to one or two tidy lines on a phone. */
  .ewsm-topbar__inner .ewsm-tb__text:not(.is-keep) { display: none; }
  .ewsm-logo img { max-width: 150px !important; }
}

/* ---------- accessibility ---------- */
.ewsm :where(a, button):focus-visible {
  outline: 3px solid #FFB020; outline-offset: 3px; border-radius: 6px;
}
.ewsm-drawer :where(a, button):focus-visible { outline: 3px solid var(--ewsm-blue); outline-offset: 2px; }

@media (prefers-reduced-motion: reduce) {
  .ewsm *, .ewsm-drawer, .ewsm-scrim {
    animation-duration: .01ms !important;
    transition-duration: .01ms !important;
  }
}

body.ewsm-locked { overflow: hidden; }
