/* Hide reCAPTCHA badge */
.grecaptcha-badge {
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}
/* Background particles */
#emaildeer-particles{
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: -1;
  opacity: 0.6;
}

/* Mobile Menu */
.elementor-14 .elementor-element.elementor-element-4d7f376 .jet-mobile-menu__toggle-icon {
  color: #19171c;
}

.elementor-14 .elementor-element.elementor-element-4d7f376 .jet-mobile-menu__container .jet-mobile-menu__back svg {
  color: #19171c;
}

.elementor-14 .elementor-element.elementor-element-4d7f376 .jet-mobile-menu__item .jet-menu-label {
  color: #19171c;
}

.elementor-14 .elementor-element.elementor-element-4d7f376 .jet-mobile-menu__container .jet-mobile-menu__container-inner{
  background-color: #ffffff;
}

.elementor-14 .elementor-element.elementor-element-4d7f376 .jet-mobile-menu__item {
background-color: #ffffff;
}

/* Mobile Menu Dark Mode */
body.darkMode .elementor-14 .elementor-element.elementor-element-4d7f376 .jet-mobile-menu__toggle .jet-mobile-menu__toggle-icon  {
  color: #ffffff;
}

body.darkMode .elementor-14 .elementor-element.elementor-element-4d7f376 .jet-mobile-menu__container .jet-mobile-menu__back svg {
  color: #ffffff;
}

body.darkMode .elementor-14 .elementor-element.elementor-element-4d7f376 .jet-mobile-menu__item .jet-menu-label {
  color: #ffffff;
}

body.darkMode .elementor-14 .elementor-element.elementor-element-4d7f376 .jet-mobile-menu__container .jet-mobile-menu__container-inner{
  background-color: #19171c;
}

body.darkMode .elementor-14 .elementor-element.elementor-element-4d7f376 .jet-mobile-menu__item {
background-color: #19171c;
}

/* Keep 100% width while sticky */
.header-sticky.jet-sticky-section--stuck,
.header-sticky.jet-sticky--stuck {
  width: 100% !important;
  left: 0 !important;
  right: 0 !important;
}

/* Remove inner container max-width limitation while sticky */
.header-sticky.jet-sticky-section--stuck > .e-con,
.header-sticky.jet-sticky--stuck > .e-con {
  max-width: 100% !important;
}

/* Global Styles */
html,
body {
  overflow-x: hidden;
}

body {
  background-color: #f1f1f1;
}

/* Magic Mouse Cursor - Desktop Only */
@media (min-width: 1367px) {
  #magicMouseCursor {
    position: fixed;
    z-index: 10000000 !important;
    border: 1px solid #000;
    border-radius: 50%;
    inset: 0 auto auto 0;
    transition: transform 0.06s, width 0.3s, height 0.3s;
    pointer-events: none;
  }

  #magicMouseCursor.cursor-square {
    border-radius: 0;
  }

  #magicPointer {
    position: fixed;
    z-index: 10000000 !important;
    width: 5px;
    height: 5px;
    inset: 0 auto auto 0;
    background: #000;
    border-radius: 50%;
    pointer-events: none;
    transition: background 0.2s, width 0.2s, height 0.2s, box-shadow 0.2s;
  }
}



/* Hide Magic Cursor on Mobile */
@media (max-width: 1366px) {
  #magicMouseCursor,
  #magicPointer {
    display: none;
  }
}

/* Logo Switching (default) */
#logo-light {
  display: block;
}
#logo-dark {
  display: none;
}

#logo-dark .jet-logo__img,
#logo-light .jet-logo__img {
  height: 57px;
  width: auto;
}

/* Dark Mode Styles (fixed: no nested CSS) */
body.darkMode {
  background-color: #19171c !important;
}

body.darkMode #logo-light {
  display: none;
}
body.darkMode #logo-dark {
  display: block;
}

body.darkMode #magicMouseCursor {
  border-color: #38b349;
}
body.darkMode #magicPointer {
  background: #38b349;
}

body.darkMode .jet-popup-249 .jet-popup__container-overlay {
  background-color: #19171c;
}

body.darkMode .elementor-249 .elementor-element-0f4c5f8 {
  --jmm-top-item-title-color: #fff;
}

body.darkMode .jet-mega-menu-toggle-icon .jet-mega-menu-toggle-icon--default-state {
  color: #fff;
}

body.darkMode .hero_banner .jet-animated-text__before-text {
  color: #fff !important;
}

body.darkMode .elementor-2 .elementor-element-f9fbc47 > .elementor-widget-container {
  border: 1px solid rgba(57, 181, 74, 0.6);
  border-width: 0 0 1px;
  border-radius: 9999px;
  box-shadow: none;
  color: #a6a6a6;
}

body.darkMode p {
  color: #a6a6a6;
}

body.darkMode .svg-container svg path {
  fill: #fff;
}

/* Headings */
body.darkMode h1,
body.darkMode h2,
body.darkMode h3,
body.darkMode h4 {
  color: #fff;
}


/* Links and Navigation */
body.darkMode .elementor a {
  color: #fff;
}

body.darkMode .elementor-nav-menu a {
  color: var(--e-global-color-dark_mode_yellow);
}

/* Icons and Buttons */
body.darkMode .elementor-icon svg {
  fill: var(--e-global-color-dark_mode_yellow);
}

body.darkMode .elementor-element-99ea00e .jet-button__label {
  color: #fff;
}

body.darkMode .jet-mega-menu--fill-svg-icons .jet-mega-menu-toggle svg path {
  fill: #fff;
}

/* Footer */
body.darkMode #footer {
  background-color: #2a2630;
}
body.darkMode #footer a {
  color: #fff;
}
body.darkMode #footer h3,
body.darkMode #footer h4 {
  color: #fff;
}

/* Base Typography */
h1 {
  font-size: clamp(2.5rem, 1.75rem + 3vw, 4rem);
  font-weight: 900;
  color: var(--e-global-color-primary);
}

h2 {
  font-size: 2rem;
  font-weight: 600;
  color: var(--e-global-color-secondary);
}


/* Base Links and Buttons */
.elementor a {
  color: #000;
}
.elementor-jet-button .jet-button__label {
  color: #000;
}
.elementor-nav-menu a {
  color: #000;
}



/* Header base: NO backdrop-filter on the element itself */
#site-headera,
.header-sticky {
  z-index: 9999;
  position: relative;     /* needed for ::before */
  isolation: isolate;     /* keeps ::before behind content */
  background: transparent;
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
  overflow: visible;      /* avoid clipping dropdown/panels */
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  transition: border-color 0.25s ease, box-shadow 0.25s ease, padding 0.25s ease;
}

/* Glass layer */
#site-headera::before,
.header-sticky::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: rgba(241, 241, 241, 0.68);
  backdrop-filter: saturate(160%) blur(12px);
  -webkit-backdrop-filter: saturate(160%) blur(12px);
  pointer-events: none;
}

/* Stuck state */
#site-headera.jet-sticky-section--stuck::before,
#site-headera.jet-sticky--stuck::before,
.header-sticky.jet-sticky-section--stuck::before,
.header-sticky.jet-sticky--stuck::before {
  background: rgba(255, 255, 255, 0.78);
  backdrop-filter: saturate(180%) blur(14px);
  -webkit-backdrop-filter: saturate(180%) blur(14px);
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.06);
  border-bottom: 1px solid rgba(0, 0, 0, 0.10);
}

/* Optional padding tweak while sticky (Elementor container) */
#site-headera .elementor-container {
  padding-top: 12px;
  padding-bottom: 12px;
}
#site-headera.jet-sticky-section--stuck .elementor-container,
#site-headera.jet-sticky--stuck .elementor-container {
  padding-top: 8px;
  padding-bottom: 8px;
}

/* Dark Mode glass */
body.darkMode #site-headera,
body.darkMode .header-sticky {
  border-bottom-color: rgba(255, 255, 255, 0.08);
}

body.darkMode #site-headera::before,
body.darkMode .header-sticky::before {
  background: rgba(25, 23, 28, 0.55);
}

body.darkMode #site-headera.jet-sticky-section--stuck::before,
body.darkMode #site-headera.jet-sticky--stuck::before,
body.darkMode .header-sticky.jet-sticky-section--stuck::before,
body.darkMode .header-sticky.jet-sticky--stuck::before {
  background: rgba(25, 23, 28, 0.65);
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.35);
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}

/* Fallback when backdrop-filter isn't supported */
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  #site-headera::before,
  .header-sticky::before {
    background: rgba(255, 255, 255, 0.9);
  }
  body.darkMode #site-headera::before,
  body.darkMode .header-sticky::before {
    background: rgba(25, 23, 28, 0.9);
  }
}

/* ============================================================
   Intl-Tel-Input styling for JetFormBuilder + EmailDeer theme
   ============================================================ */

/* Base sizing + prevent layout glitches */
.jet-form-builder .iti {
  width: 100%;
}
.jet-form-builder .iti input[type="tel"] {
  width: 100%;
}

/* ---------- LIGHT MODE ---------- */
body:not(.darkMode) .jet-form-builder .iti input[type="tel"] {
  background: rgba(255, 255, 255, 0.9);
  color: #19171c;
  border: 1px solid rgba(25, 23, 28, 0.10);
  border-radius: 9999px;
  outline: none;
  transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
}

/* selected flag + dial code area */
/* selected flag + dial code area (LIGHT MODE) */
body:not(.darkMode) .jet-form-builder .iti__selected-country{
  padding-right: 10px;              /* a bit more breathing room */
  color: #19171c;                   /* NOT white */
}

/* force dial code color explicitly (prevents Safari quirks / inheritance issues) */
body:not(.darkMode) .jet-form-builder .iti__selected-dial-code{
  color: rgba(25, 23, 28, 0.75) !important;
}



body:not(.darkMode) .jet-form-builder .iti__selected-country:hover {
  background: rgba(25, 23, 28, 0.05);
}

/* Focus ring */
body:not(.darkMode) .jet-form-builder .iti input[type="tel"]:focus {
  border-color: rgba(56, 179, 73, 0.55);
  box-shadow: 0 0 0 4px rgba(56, 179, 73, 0.15);
}

/* Dropdown */
body:not(.darkMode) .iti--container .iti__country-list {
  background: rgba(255, 255, 255, 0.96);
  color: #19171c;
  border: 1px solid rgba(25, 23, 28, 0.10);
  box-shadow: 0 18px 50px rgba(0,0,0,0.14);
  overflow: auto;
}

/* Country rows */
body:not(.darkMode) .iti--container .iti__country {
  transition: background .15s ease;
}
body:not(.darkMode) .iti--container .iti__country:hover,
body:not(.darkMode) .iti--container .iti__country.iti__highlight {
  background: rgba(56, 179, 73, 0.10);
}

/* Dial code color in dropdown */
body:not(.darkMode) .iti--container .iti__dial-code {
  color: rgba(25, 23, 28, 0.6);
}


/* ---------- DARK MODE ---------- */
body.darkMode .jet-form-builder .iti__selected-dial-code{
  color: rgba(255,255,255,0.70) !important;
}

body.darkMode .jet-form-builder .iti input[type="tel"] {
  background: rgba(25, 23, 28, 0.72);
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.10);
  border-radius: 9999px;
  outline: none;
  transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
}

/* selected flag + dial code area */
body.darkMode .jet-form-builder .iti__selected-country {
  padding-right: 5px;
}
body.darkMode .jet-form-builder .iti__selected-country:hover {
  background: rgba(255, 255, 255, 0.06);
}

/* Keep arrow visible */
body.darkMode .jet-form-builder .iti__arrow {
  border-top-color: rgba(255,255,255,0.65);
}

/* Focus ring */
body.darkMode .jet-form-builder .iti input[type="tel"]:focus {
  border-color: rgba(56, 179, 73, 0.65);
  box-shadow: 0 0 0 4px rgba(56, 179, 73, 0.18);
}

/* Dropdown container (body-attached) */
body.darkMode .iti--container .iti__country-list {
  background: rgba(25, 23, 28, 0.96);
  color: #fff;
  border: 1px solid rgba(255,255,255,0.12);
  box-shadow: 0 22px 60px rgba(0,0,0,0.55);
  overflow: auto;
}

/* Country rows */
body.darkMode .iti--container .iti__country {
  transition: background .15s ease;
}
body.darkMode .iti--container .iti__country:hover,
body.darkMode .iti--container .iti__country.iti__highlight {
  background: rgba(56, 179, 73, 0.16);
}

/* Dial code color in dropdown */
body.darkMode .iti--container .iti__dial-code {
  color: rgba(255,255,255,0.6);
}

/* Optional: soften divider lines in list */
body.darkMode .iti--container .iti__divider {
  border-bottom-color: rgba(255,255,255,0.08);
}

/* Placeholder color (your global sets p to #a6a6a6; match that vibe) */
body.darkMode .jet-form-builder .iti input[type="tel"]::placeholder {
  color: rgba(166,166,166,0.95);
}


/* Kill inner hover/background differences */
.jet-form-builder .iti__selected-flag,
.jet-form-builder .iti__flag-box,
.jet-form-builder .iti__selected-dial-code,
.jet-form-builder .iti__arrow{
  background: transparent !important;
}

/* Remove the “rounded blob” hover from inner pieces */
.jet-form-builder .iti__selected-flag:hover,
.jet-form-builder .iti__flag-box:hover{
  background: transparent !important;
}

/* Only the wrapper changes on hover */
body:not(.darkMode) .jet-form-builder .iti__selected-country:hover{
  background: rgba(25, 23, 28, 0.05);
}
body.darkMode .jet-form-builder .iti__selected-country:hover{
  background: rgba(255, 255, 255, 0.06);
}

/* ---------- 2) Add separator + spacing between dial code and input ---------- */

/* The selected-country area sits on the left inside the input.
   Add a subtle divider and ensure the number has breathing room. */
body:not(.darkMode) .jet-form-builder .iti__selected-country{
  border-right: 1px solid rgba(25, 23, 28, 0.12);
}
body.darkMode .jet-form-builder .iti__selected-country{
  border-right: 1px solid rgba(255, 255, 255, 0.14);
}


/* ---------- 3) Dropdown: unify hover bg + stop “all text turns white” ---------- */

/* Dropdown container look */
.iti--container .iti__country-list{
  overflow: hidden; /* prevent weird rounded hover edges per row */
}

/* Every row uses same layout colors */
body:not(.darkMode) .iti--container .iti__country{
  color: #19171c;
}
body:not(.darkMode) .iti--container .iti__dial-code{
  color: rgba(25, 23, 28, 0.6);
}

/* Hover/highlight: ONE background for the whole row */
body:not(.darkMode) .iti--container .iti__country:hover,
body:not(.darkMode) .iti--container .iti__country.iti__highlight{
  background: rgba(56, 179, 73, 0.10);
  color: #19171c; /* keep name readable */
}
body:not(.darkMode) .iti--container .iti__country:hover .iti__dial-code,
body:not(.darkMode) .iti--container .iti__country.iti__highlight .iti__dial-code{
  color: rgba(25, 23, 28, 0.7);
}

/* Dark mode row colors */
body.darkMode .iti--container .iti__country{
  color: rgba(255,255,255,0.92);
}
body.darkMode .iti--container .iti__dial-code{
  color: rgba(255,255,255,0.6);
}

/* Dark mode hover/highlight: keep text consistent (don’t force all-white) */
body.darkMode .iti--container .iti__country:hover,
body.darkMode .iti--container .iti__country.iti__highlight{
  background: rgba(56, 179, 73, 0.16);
  color: rgba(255,255,255,0.95);
}
body.darkMode .iti--container .iti__country:hover .iti__dial-code,
body.darkMode .iti--container .iti__country.iti__highlight .iti__dial-code{
  color: rgba(255,255,255,0.72);
}

/* Remove per-child background differences in rows */
.iti--container .iti__country-name,
.iti--container .iti__dial-code{
  background: transparent !important;
}

/* ---------- 4) Dark mode dropdown shape + Search bar styling ---------- */

/* If you want dropdown NOT rounded in dark mode */
body.darkMode .iti--container .iti__country-list{
  border-radius: 0px; /* set to 0 if you want fully square */
}

/* Search input in dropdown */
.iti--container input.iti__search-input{
  outline: none;
  box-shadow: none !important;
}

/* Light mode search */
body:not(.darkMode) .iti--container input.iti__search-input{
  background: rgba(255,255,255,0.95);
  color: #19171c;
  border: 1px solid rgba(25,23,28,0.15);
}
body:not(.darkMode) .iti--container input.iti__search-input:focus{
  border-color: rgba(56,179,73,0.55);
  box-shadow: 0 0 0 4px rgba(56,179,73,0.12);
}

/* Dark mode search (no white bg, no blue border) */
body.darkMode .iti--container input.iti__search-input{
  background: rgba(25,23,28,0.92);
  color: rgba(255,255,255,0.92);
  border: 1px solid rgba(255,255,255,0.14);
}
body.darkMode .iti--container input.iti__search-input:focus{
  border-color: rgba(56,179,73,0.65);
  box-shadow: 0 0 0 4px rgba(56,179,73,0.18);
}

/* Prevent iOS blue glow */
.iti--container input.iti__search-input:focus{
  -webkit-tap-highlight-color: transparent;
}

/* ===================================================================== */
/* ===== Scroll Mouse Indicator (under CTA) ============================= */
/* ===================================================================== */

.scroll-mouse {
  margin: 1.75rem auto 0;
  display: flex;
  justify-content: center;
  animation: scroll-bounce 1.6s infinite;
}

.scroll-mouse-body {
  width: 24px;
  height: 40px;
  border-radius: 9999px;
  border: 2px solid rgba(148, 163, 184, 0.5);
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding-top: 6px;
  background: transparent;
}

.scroll-mouse-wheel {
  width: 4px;
  height: 8px;
  border-radius: 9999px;
  background: rgba(148, 163, 184, 0.85);
}

@keyframes scroll-bounce {
  0%,
  100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-6px);
  }
}

@media (max-width: 767px) {
  .scroll-mouse {
    display: none;
  }
}

body.darkMode .scroll-mouse-body {
  border-color: rgba(248, 250, 252, 0.5);
}

body.darkMode .scroll-mouse-wheel {
  background: #38b349;
}