.elementor-15994 .elementor-element.elementor-element-0e66305{--display:grid;--e-con-grid-template-columns:repeat(1, 1fr);--e-con-grid-template-rows:repeat(2, 1fr);--grid-auto-flow:row;}.elementor-15994 .elementor-element.elementor-element-ecfd0e8 > .elementor-widget-container{margin:61px 0px 0px -59px;padding:0px 0px 0px 0px;}.elementor-15994 .elementor-element.elementor-element-421e54b{--display:grid;--e-con-grid-template-columns:repeat(1, 1fr);--e-con-grid-template-rows:repeat(3, 1fr);--grid-auto-flow:row;}.elementor-15994 .elementor-element.elementor-element-e83c8e4 > .elementor-widget-container{margin:1px -4px 0px -59px;padding:0px 0px 0px 0px;}.elementor-15994 .elementor-element.elementor-element-5573772{--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;}@media(max-width:1024px){.elementor-15994 .elementor-element.elementor-element-0e66305{--grid-auto-flow:row;}.elementor-15994 .elementor-element.elementor-element-421e54b{--grid-auto-flow:row;}}@media(max-width:767px){.elementor-15994 .elementor-element.elementor-element-0e66305{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;--margin-top:56px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-15994 .elementor-element.elementor-element-ecfd0e8 > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-15994 .elementor-element.elementor-element-421e54b{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-15994 .elementor-element.elementor-element-e83c8e4 > .elementor-widget-container{margin:0px 0px 0px 0px;}}/* Start custom CSS for button, class: .elementor-element-ecfd0e8 *//* --- Social buttons (keep as you had) --- */
.join-options .nsl-container .nsl-button {
  width: 60%;
  max-width: 240px;
  height: 39px;
  margin: 0 0 12px 0;
  border-radius: 3px;
  box-sizing: border-box;
}

/* --- Elementor Email button (Create Account / Login) --- */
/* Base look + geometry (shared for both element types) */
.join-email .elementor-button,
.join-email .elementor-button-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;        /* center label in remaining space */
  width: 60%;
  max-width: 265px;               /* you moved to 270px; keeping it */
  height: 39px;
  min-height: 39px;
  box-sizing: border-box;
  line-height: 1;
  white-space: nowrap;

  background: #ffffff;
  color: #111111;
  border: 1px solid #DDDDDD;
  border-radius: 3px;
  font-weight: 600;
  text-decoration: none;
  box-shadow: 0 1px 2px rgba(0,0,0,0.04);

  transition: box-shadow .15s ease, border-color .15s ease, background .15s ease, color .15s ease;
  -webkit-tap-highlight-color: transparent;

  /* Alignment math: reserve exact icon column so text centers between icon and right edge */
  position: relative;
  padding-left: 48px;   /* 16px left + 20px icon + 12px gap */
  padding-right: 12px;  /* equals the gap so centering is true */
  text-align: center;
}

/* Hide Elementor’s built-in icon to prevent double icons/twitch */
.join-email .elementor-button .elementor-button-icon,
.join-email .elementor-button-link .elementor-button-icon {
  display: none !important;
}

/* Envelope icon as a mask so it inherits currentColor (applies to both button types) */
.join-email .elementor-button::before,
.join-email .elementor-button-link::before {
  content: "";
  position: absolute;
  left: 16px;                 /* fixed, identical on both buttons */
  top: 50%;
  transform: translateY(-50%);
  width: 20px;
  height: 20px;

  /* adopt text color automatically */
  background: currentColor;
  -webkit-mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 4H4c-1.1 0-2 .9-2 2v12a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V6c0-1.1-.9-2-2-2Zm0 2v.01L12 12 4 6.01V6h16ZM4 18V8.236l7.385 5.54a1.5 1.5 0 0 0 1.23 0L20 8.236V18H4Z"/></svg>') center / 20px 20px no-repeat;
          mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 4H4c-1.1 0-2 .9-2 2v12a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V6c0-1.1-.9-2-2-2Zm0 2v.01L12 12 4 6.01V6h16ZM4 18V8.236l7.385 5.54a1.5 1.5 0 0 0 1.23 0L20 8.236V18H4Z"/></svg>') center / 20px 20px no-repeat;
}

/* Hover/focus/active: bg black, text+icon white; subtle shadow & border */
.join-email .elementor-button:hover,
.join-email .elementor-button-link:hover,
.join-email .elementor-button:focus,
.join-email .elementor-button-link:focus,
.join-email .elementor-button:active,
.join-email .elementor-button-link:active {
  background: #000000;
  color: #ffffff;
  border-color: #C9C9C9;
  box-shadow: 0 2px 6px rgba(0,0,0,0.06);
}

/* Accessible focus ring */
.join-email .elementor-button:focus-visible,
.join-email .elementor-button-link:focus-visible {
  outline: 2px solid #4C9AFF;
  outline-offset: 2px;
}

/* --- Ultimate Member button styles (unchanged) --- */
.um .um-form input[type="submit"], .um .um-button {
  background: #ffffff; color: #111111;
  border: 1px solid #DDDDDD; border-radius: 8px;
  height: 48px; padding: 0 18px; font-weight: 600;
  width: 90%; max-width: 420px;
  box-shadow: 0 1px 2px rgba(0,0,0,0.04);
  box-sizing: border-box;
}
.um .um-form input[type="submit"]:hover, .um .um-button:hover {
  border-color: #C9C9C9; box-shadow: 0 2px 6px rgba(0,0,0,0.06);
}

/* --- Keep Elementor buttons from stretching full-width in inline contexts --- */
.btn-inline .elementor-button-wrapper {
  display: inline-flex;
  width: auto;
  max-width: none;
  flex: 0 0 auto;
  align-self: flex-start;
}
.btn-inline .elementor-button,
.btn-inline .elementor-button-link {
  display: inline-flex;
  width: auto;
  max-width: none;
  inline-size: auto;
  flex: 0 0 auto;
}

/* Many themes/Elementor force width:100% on small screens; neutralize it */
@media (max-width: 767px) {
  .btn-inline .elementor-button-wrapper,
  .btn-inline .elementor-button,
  .btn-inline .elementor-button-link {
    width: auto !important;
    max-width: none !important;
    flex: 0 0 auto !important;
  }
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-e83c8e4 *//* Scope all 3 buttons in the same container if you used it */
.join-options .nsl-container .nsl-button {
  width: 75%;
  max-width: 250px;
  height: 39px;
  margin: 0 0 12px 0;
  border-radius: 3px;
  box-sizing: border-box;
}

/* Target the Elementor Email button via the WIDGET wrapper class */
.join-email .elementor-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 27px;                           /* keep your spacing */
  width: 75%;
  max-width: 250px;
  height: 39px;
  background: #ffffff;
  color: #111111;
  border: 1px solid #DDDDDD;
  border-radius: 3px;
  font-weight: 600;
  text-decoration: none;
  box-shadow: 0 1px 2px rgba(0,0,0,0.04);
  /* Anti-blink locks (non-visual) */
  box-sizing: border-box;
  line-height: 1;
  white-space: nowrap;
  min-height: 39px;
  /* Keep your original transition but drop transform to avoid size flicker */
  transition: box-shadow .15s ease, border-color .15s ease;
  /* optional: remove tap flash on iOS */
  -webkit-tap-highlight-color: transparent;
}

/* Hide Elementor’s built-in icon if set (prevents “two icons” layout twitch) */
.join-email .elementor-button .elementor-button-icon { 
  display: none !important; 
}

/* Envelope icon on the left (pseudo-element on the <a>) */
.join-email .elementor-button:before {
  content: "";
  width: 20px; height: 20px;
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="%23000" viewBox="0 0 24 24"><path d="M20 4H4c-1.1 0-2 .9-2 2v12a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V6c0-1.1-.9-2-2-2Zm0 2v.01L12 12 4 6.01V6h16ZM4 18V8.236l7.385 5.54a1.5 1.5 0 0 0 1.23 0L20 8.236V18H4Z"/></svg>');
  background-repeat: no-repeat;
  background-size: 20px 20px;
  background-position: center;
  flex: 0 0 20px;                      /* prevents flex squish on press */
}

/* States (no size changes between them) */
.join-email .elementor-button:hover {
  border-color: #C9C9C9;
  box-shadow: 0 2px 6px rgba(0,0,0,0.06);
}
.join-email .elementor-button:active,
.join-email .elementor-button:focus,
.join-email .elementor-button:focus-visible {
  transform: none !important;          /* kill press-translate blink */
  height: 39px;                        /* lock dimensions */
  border-width: 1px;
  box-sizing: border-box;
}
.join-email .elementor-button:focus-visible {
  outline: 2px solid #4C9AFF; 
  outline-offset: 2px;                 /* outline doesn’t shift layout */
}

/* If you also embed a UM form and want its submit button to match */
.um .um-form input[type="submit"], .um .um-button {
  background: #ffffff; color: #111111;
  border: 1px solid #DDDDDD; border-radius: 8px;
  height: 48px; padding: 0 18px; font-weight: 600;
  width: 90%; max-width: 420px;
  box-shadow: 0 1px 2px rgba(0,0,0,0.04);
  box-sizing: border-box;
}
.um .um-form input[type="submit"]:hover, .um .um-button:hover {
  border-color: #C9C9C9; box-shadow: 0 2px 6px rgba(0,0,0,0.06);
}

/* Keep your spacing tweaks exactly as you had them */
.join-email .elementor-button { 
  padding-left: 0px !important;       /* you had 00px; keeping intent as 0 */
}
.join-email .elementor-button { 
  gap: 16spx;                           /* keep your chosen gap */
}/* End custom CSS */