/* ==================================================
   Global Motion Mobile Sidebar Plugin
   Author: Azhar
================================================== */

#gmms-sidebar {
  position: fixed !important;
  inset: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  background: #ff6900 !important;
  z-index: 9999999 !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transition: opacity 0.25s ease, visibility 0.25s ease !important;
  font-family: "Forma DJR Banner", Arial, sans-serif !important;
}

#gmms-sidebar.gmms-open {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

body.gmms-lock-scroll {
  overflow: hidden !important;
}

#gmms-sidebar .gmms-sidebar-inner {
  position: relative !important;
  width: 100vw !important;
  height: 100vh !important;
  min-height: 100vh !important;
  background: #ff6900 !important;
  overflow-y: auto !important;
  box-sizing: border-box !important;
  padding: 42px 38px 70px 38px !important;
  transform: translateX(100%) !important;
  transition: transform 0.32s ease !important;
}

#gmms-sidebar.gmms-open .gmms-sidebar-inner {
  transform: translateX(0) !important;
}

/* Top section */
#gmms-sidebar .gmms-top {
  position: relative !important;
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  min-height: 96px !important;
  z-index: 2 !important;
}

#gmms-sidebar .gmms-logo-wrap {
  width: 82px !important;
  height: 82px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: transparent !important;
  flex: 0 0 auto !important;
}

#gmms-sidebar .gmms-logo {
  width: 78px !important;
  max-width: 78px !important;
  height: auto !important;
  display: block !important;
}

#gmms-sidebar .gmms-logo-placeholder {
  width: 78px !important;
  height: 78px !important;
  border-radius: 50% !important;
  background: #ffffff !important;
  color: #ff6900 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  font-size: 15px !important;
  line-height: 0.9 !important;
  font-weight: 600 !important;
}

#gmms-sidebar .gmms-phone {
  position: fixed !important;
  top: 18px !important;
  right: 70px !important;
  z-index: 10000001 !important;
  color: #ffffff !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

/* Fixed X close button */
#gmms-sidebar .gmms-close {
  position: fixed !important;
  top: 48px !important;
  right: 34px !important;
  width: 64px !important;
  height: 64px !important;
  z-index: 10000002 !important;
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: none !important;
}

#gmms-sidebar .gmms-close span {
  position: absolute !important;
  width: 68px !important;
  height: 8px !important;
  background: #ffffff !important;
  border-radius: 4px !important;
  display: block !important;
  transform-origin: center !important;
}

#gmms-sidebar .gmms-close span:first-child {
  transform: rotate(45deg) !important;
}

#gmms-sidebar .gmms-close span:last-child {
  transform: rotate(-45deg) !important;
}

/* Menu */
#gmms-sidebar .gmms-nav {
  width: 100% !important;
  margin-top: 55px !important;
  background: transparent !important;
}

#gmms-sidebar .gmms-menu,
#gmms-sidebar .gmms-menu ul {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
  background: transparent !important;
}

#gmms-sidebar .gmms-menu li {
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
  background: transparent !important;
}

#gmms-sidebar .gmms-menu > li > a {
  position: relative !important;
  width: 100% !important;
  min-height: 82px !important;
  box-sizing: border-box !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  color: #ffffff !important;
  background: transparent !important;
  text-decoration: none !important;
  text-transform: uppercase !important;
  font-size: 40px !important;
  font-weight: 600 !important;
  line-height: 1.05 !important;
  padding: 20px 0 !important;
  border-bottom: 3px solid #ffffff !important;
}

/* Plus sign for parent items */
#gmms-sidebar .gmms-menu > li.menu-item-has-children > a::after {
  content: "+" !important;
  color: #ffffff !important;
  font-size: 56px !important;
  font-weight: 300 !important;
  line-height: 1 !important;
  margin-left: 24px !important;
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

#gmms-sidebar .gmms-menu > li.menu-item-has-children.gmms-active > a::after {
  content: "−" !important;
}

/* Submenus closed by default */
#gmms-sidebar .gmms-menu li.menu-item-has-children > .sub-menu {
  display: none !important;
  background: #ff6900 !important;
  margin: 0 !important;
  padding: 0 !important;
}

#gmms-sidebar .gmms-menu li.menu-item-has-children.gmms-active > .sub-menu {
  display: block !important;
}

/* Submenu links */
#gmms-sidebar .gmms-menu .sub-menu li a {
  display: block !important;
  width: 100% !important;
  box-sizing: border-box !important;
  color: #000000 !important;
  background: #ff6900 !important;
  text-decoration: none !important;
  text-transform: none !important;
  font-size: 25px !important;
  font-weight: 500 !important;
  line-height: 1.15 !important;
  padding: 18px 0 18px 22px !important;
  border-bottom: 2px solid rgba(255,255,255,0.75) !important;
}

#gmms-sidebar a:hover {
  background: transparent !important;
}

@media (min-width: 768px) {
  #gmms-sidebar {
    display: none !important;
  }
}

@media (max-width: 480px) {
  #gmms-sidebar .gmms-sidebar-inner {
    padding: 38px 34px 65px 34px !important;
  }

  #gmms-sidebar .gmms-logo-wrap {
    width: 76px !important;
    height: 76px !important;
  }

  #gmms-sidebar .gmms-logo {
    width: 72px !important;
    max-width: 72px !important;
  }

  #gmms-sidebar .gmms-phone {
    top: 18px !important;
    right: 68px !important;
    font-size: 15px !important;
  }

  #gmms-sidebar .gmms-close {
    top: 45px !important;
    right: 32px !important;
    width: 58px !important;
    height: 58px !important;
  }

  #gmms-sidebar .gmms-close span {
    width: 62px !important;
    height: 7px !important;
  }

  #gmms-sidebar .gmms-nav {
    margin-top: 55px !important;
  }

  #gmms-sidebar .gmms-menu > li > a {
    min-height: 78px !important;
    font-size: 36px !important;
    padding: 20px 0 !important;
  }

  #gmms-sidebar .gmms-menu > li.menu-item-has-children > a::after {
    font-size: 52px !important;
  }

  #gmms-sidebar .gmms-menu .sub-menu li a {
    font-size: 24px !important;
    padding: 17px 0 17px 22px !important;
  }
}

/* ==================================================
   World Map SVG Icon — Auto-injected watermark
   100% match: globalmotion.com footer
================================================== */

/* Container: sm:h-full max-sm:w-full aspect-square
   absolute right-0 sm:top-0 max-sm:bottom-0
   lg:right-[15%] rotate-180 overflow-hidden */
.gm-worldmap-wrap {
  position: absolute !important;
  aspect-ratio: 1 / 1 !important;
  right: 0 !important;
  transform: rotate(180deg) !important;
  overflow: hidden !important;
  pointer-events: none !important;
  z-index: 0 !important;
}

/* sm (>=640px): full height, top-aligned */
@media (min-width: 640px) {
  .gm-worldmap-wrap {
    height: 100% !important;
    top: 0 !important;
    bottom: auto !important;
    width: auto !important;
  }
}

/* max-sm (<640px): full width, bottom-aligned */
@media (max-width: 639px) {
  .gm-worldmap-wrap {
    width: 100% !important;
    bottom: 0 !important;
    top: auto !important;
    height: auto !important;
  }
}

/* lg (>=1024px): shift from right edge */
@media (min-width: 1024px) {
  .gm-worldmap-wrap {
    right: 15% !important;
  }
}

/* SVG canvas: w-[300%] h-[300%] left-[-140%] top-[-140%]
   rotate-[-45deg] transition-transform */
.gm-worldmap-svg {
  position: absolute !important;
  width: 300% !important;
  height: 300% !important;
  left: -140% !important;
  top: -140% !important;
  transform: rotate(-45deg) !important;
  transition: transform 0.5s !important;
}

/* Arc rotation groups: origin-center rotate-[Xdeg] */
.gm-wm-g1 { transform-origin: center !important; transform: rotate(65deg) !important; }
.gm-wm-g2 { transform-origin: center !important; transform: rotate(220deg) !important; }
.gm-wm-g3 { transform-origin: center !important; transform: rotate(-90deg) !important; }

/* Parent element gets these via JS */
.gmms-wm-parent {
  position: relative !important;
  overflow: hidden !important;
}
