.elementor-504 .elementor-element.elementor-element-d4b46bd{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--padding-top:3em;--padding-bottom:3em;--padding-left:0em;--padding-right:0em;}.elementor-504 .elementor-element.elementor-element-d4b46bd:not(.elementor-motion-effects-element-type-background), .elementor-504 .elementor-element.elementor-element-d4b46bd > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#06001A;background-image:url("https://smspavers.com/wp/wp-content/uploads/2025/10/pattern-4.png");background-position:center center;background-repeat:repeat;background-size:50% auto;}.elementor-504 .elementor-element.elementor-element-5bbe5f1{--display:flex;--padding-top:0em;--padding-bottom:0em;--padding-left:2em;--padding-right:2em;}.elementor-504 .elementor-element.elementor-element-15ede93{text-align:center;}.elementor-504 .elementor-element.elementor-element-15ede93 .elementor-heading-title{color:var( --e-global-color-text );}.elementor-504 .elementor-element.elementor-element-5f77b22{text-align:center;}.elementor-504 .elementor-element.elementor-element-5f77b22 .elementor-heading-title{color:var( --e-global-color-text );}.elementor-504 .elementor-element.elementor-element-49b0ae1{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + -20px) 0px;padding:0px 0px 0px 0px;}.elementor-504 .elementor-element.elementor-element-49b0ae1.elementor-element{--align-self:center;}.elementor-504 .elementor-element.elementor-element-4908afd{--display:flex;--min-height:75vh;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:2em;--padding-bottom:0em;--padding-left:0em;--padding-right:0em;}.elementor-504 .elementor-element.elementor-element-732e7ac .elementor-button{background-color:var( --e-global-color-dd5f995 );}.elementor-504 .elementor-element.elementor-element-732e7ac{width:var( --container-widget-width, 80% );max-width:80%;--container-widget-width:80%;--container-widget-flex-grow:0;}.elementor-504 .elementor-element.elementor-element-732e7ac.elementor-element{--align-self:center;}.elementor-504 .elementor-element.elementor-element-a3379da{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-504 .elementor-element.elementor-element-3455c5b{width:100%;max-width:100%;--e-nav-menu-divider-content:"";--e-nav-menu-divider-style:solid;--e-nav-menu-divider-width:2px;--e-nav-menu-divider-height:3px;--e-nav-menu-divider-color:var( --e-global-color-dc69ef1 );}.elementor-504 .elementor-element.elementor-element-3455c5b.elementor-element{--align-self:stretch;}@media(min-width:768px){.elementor-504 .elementor-element.elementor-element-5bbe5f1{--content-width:600px;}}@media(max-width:1024px){.elementor-504 .elementor-element.elementor-element-d4b46bd{--padding-top:3em;--padding-bottom:3em;--padding-left:0em;--padding-right:0em;}}@media(max-width:767px){.elementor-504 .elementor-element.elementor-element-d4b46bd{--padding-top:2em;--padding-bottom:2em;--padding-left:0em;--padding-right:0em;}.elementor-504 .elementor-element.elementor-element-5bbe5f1{--padding-top:21px;--padding-bottom:21px;--padding-left:21px;--padding-right:21px;}}@media(max-width:1024px) and (min-width:768px){.elementor-504 .elementor-element.elementor-element-d4b46bd{--content-width:500px;}.elementor-504 .elementor-element.elementor-element-5bbe5f1{--content-width:600px;}}/* Start custom CSS for nav-menu, class: .elementor-element-3455c5b *//* ============================
   Mega Menu — Bulletproof Build
   ============================ */

/* ── Nav container ── */
.elementor-nav-menu--main,
.elementor-nav-menu--layout-horizontal {
  position: relative;
  width: 100%;
}

/* ── PARENT ITEMS ── */
.elementor-nav-menu--main > .menu-item > a,
.elementor-nav-menu:not(.elementor-nav-menu--dropdown) > .menu-item > a {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 14px 18px !important;
  text-decoration: none !important;
  transition: transform 0.25s ease;
}

.elementor-nav-menu--main > .menu-item > a:hover {
  transform: translateY(-2px);
}

/* Parent image — rounded square */
.menu-cat-image-inline {
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 90px;
  height: 90px;
  border-radius: 14px;
  overflow: hidden;
  background: #fff;
  border: 2px solid #e8edf2;
  box-shadow: 0 3px 12px rgba(0, 0, 0, 0.08);
  transition: border-color 0.3s ease, box-shadow 0.3s ease, transform 0.3s ease;
}

.menu-item-has-children:hover > a .menu-cat-image-inline,
.menu-item > a:hover .menu-cat-image-inline {
  border-color: #3b6cf5;
  box-shadow: 0 6px 20px rgba(59, 108, 245, 0.15);
  transform: scale(1.04);
}

.menu-cat-image-inline img.menu-cat-thumb {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Parent name */
.elementor-nav-menu--main > .menu-item > a .menu-cat-name {
  font-size: 13px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.4px;
  text-align: center;
  color: #333;
  transition: color 0.3s ease;
}

.elementor-nav-menu--main > .menu-item:hover > a .menu-cat-name {
  color: #3b6cf5;
}

/* ── CRITICAL: Parent is STATIC ── */
.elementor-nav-menu--main .menu-item-has-children {
  position: static !important;
}

/* ── MEGA DROPDOWN — forced grid ── */
.elementor-nav-menu--main .sub-menu,
.elementor-nav-menu:not(.elementor-nav-menu--dropdown) .sub-menu {
  position: absolute !important;
  top: 100% !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)) !important;
  gap: 20px !important;
  background: #fff !important;
  padding: 28px 32px !important;
  box-sizing: border-box !important;
  z-index: 9999 !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  transition: opacity 0.3s ease, visibility 0.3s ease !important;
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.1) !important;
  border-top: 3px solid #3b6cf5 !important;
  border-radius: 0 !important;
  margin: 0 !important;
  list-style: none !important;
  overflow: hidden !important;
  /* Kill Elementor defaults */
  flex-direction: unset !important;
  min-width: unset !important;
  max-width: unset !important;
  transform: none !important;
}

/* Show on hover — DESKTOP ONLY */
@media (min-width: 768px) {
  .elementor-nav-menu--main .menu-item-has-children:hover > .sub-menu,
  .elementor-nav-menu:not(.elementor-nav-menu--dropdown) .menu-item-has-children:hover > .sub-menu {
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
  }
}

/* Hover bridge */
.elementor-nav-menu--main .menu-item-has-children::after {
  content: '';
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  height: 16px;
  display: none;
}

.elementor-nav-menu--main .menu-item-has-children:hover::after {
  display: block;
}

/* ── SUBCATEGORY CARDS ── */
.elementor-nav-menu--main .sub-menu .menu-item,
.elementor-nav-menu:not(.elementor-nav-menu--dropdown) .sub-menu .menu-item {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  width: auto !important;
}

.elementor-nav-menu--main .sub-menu .menu-item > a,
.elementor-nav-menu:not(.elementor-nav-menu--dropdown) .sub-menu .menu-item > a {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 10px !important;
  text-decoration: none !important;
  color: #333 !important;
  padding: 14px 10px !important;
  border-radius: 12px !important;
  transition: all 0.25s ease !important;
  text-align: center !important;
  border: 1px solid transparent !important;
  background: transparent !important;
}

.elementor-nav-menu--main .sub-menu .menu-item > a:hover {
  background: #f0f4ff !important;
  border-color: #dce4f5 !important;
  transform: translateY(-3px);
  box-shadow: 0 6px 18px rgba(59, 108, 245, 0.1);
}

/* Subcategory image */
.menu-cat-image {
  display: block !important;
  width: 100%;
  max-width: 110px;
  aspect-ratio: 1;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}

.menu-cat-image img.menu-cat-thumb {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.3s ease;
}

.sub-menu .menu-item > a:hover .menu-cat-image img.menu-cat-thumb {
  transform: scale(1.06);
}

/* Subcategory name */
.elementor-nav-menu--main .sub-menu .menu-cat-name,
.elementor-nav-menu:not(.elementor-nav-menu--dropdown) .sub-menu .menu-cat-name {
  font-size: 13px !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
  color: #444 !important;
  transition: color 0.2s ease;
}

.sub-menu .menu-item > a:hover .menu-cat-name {
  color: #3b6cf5 !important;
}

/* ===== TABLET ===== */
@media (max-width: 1024px) and (min-width: 768px) {
  .elementor-nav-menu--main .sub-menu,
  .elementor-nav-menu:not(.elementor-nav-menu--dropdown) .sub-menu {
    grid-template-columns: repeat(auto-fill, minmax(130px, 1fr)) !important;
    padding: 22px 24px !important;
    gap: 16px !important;
  }

  .menu-cat-image-inline {
    width: 72px;
    height: 72px;
  }

  .menu-cat-image {
    max-width: 90px;
  }
}

/* ===== MOBILE ===== */
/* ===== MOBILE ===== */
@media (max-width: 767px) {

  .elementor-nav-menu--main .menu-item-has-children,
  .elementor-nav-menu--dropdown .menu-item-has-children {
    position: relative !important;
  }

  .elementor-nav-menu--dropdown .menu-item > a {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 12px 16px !important;
  }

  .elementor-nav-menu--dropdown .menu-cat-image-inline {
    width: 44px;
    height: 44px;
    border-radius: 10px;
    flex-shrink: 0;
  }

  .elementor-nav-menu--dropdown .menu-cat-name {
    font-size: 14px !important;
    font-weight: 600 !important;
  }

  /* Submenu hidden inside nav */
  .elementor-nav-menu--main .sub-menu,
  .elementor-nav-menu--dropdown .sub-menu {
    display: none !important;
  }

  /* Submenu visible when moved to body */
  body > .sub-menu.mega-sheet-active {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    position: fixed !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    top: auto !important;
    width: 100% !important;
    max-height: 65vh !important;
    overflow-y: auto !important;
    padding: 24px 16px !important;
    gap: 14px !important;
    background: #fff !important;
    border-top: 3px solid #3b6cf5 !important;
    border-radius: 20px 20px 0 0 !important;
    box-shadow: 0 -8px 30px rgba(0, 0, 0, 0.15) !important;
    z-index: 100000 !important;
    margin: 0 !important;
    list-style: none !important;
    box-sizing: border-box !important;
    animation: megaSlideUp 0.35s cubic-bezier(0.4, 0, 0.2, 1) forwards;
  }

  @keyframes megaSlideUp {
    from {
      transform: translateY(100%);
      opacity: 0;
    }
    to {
      transform: translateY(0);
      opacity: 1;
    }
  }

  /* Cards inside the sheet */
  body > .sub-menu.mega-sheet-active .menu-item {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body > .sub-menu.mega-sheet-active .menu-item > a {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 14px 10px !important;
    border-radius: 12px !important;
    text-align: center !important;
    background: #f8f9fb !important;
    border: 1px solid #eee !important;
    text-decoration: none !important;
    color: #333 !important;
  }

  body > .sub-menu.mega-sheet-active .menu-cat-image {
    max-width: 80px;
    border-radius: 10px;
    overflow: hidden;
  }

  body > .sub-menu.mega-sheet-active .menu-cat-name {
    font-size: 12px !important;
    font-weight: 500 !important;
    color: #333 !important;
  }

  /* Overlay */
  .mega-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.45);
    z-index: 99999;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
    pointer-events: none;
  }

  .mega-overlay.active {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }
}

@media (max-width: 480px) {
  body > .sub-menu.mega-sheet-active {
    padding: 20px 12px !important;
    gap: 10px !important;
  }

  body > .sub-menu.mega-sheet-active .menu-cat-image {
    max-width: 68px;
  }
}/* End custom CSS */