.elementor-6637 .elementor-element.elementor-element-b3cd3a5{--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;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-6637 .elementor-element.elementor-element-17c9d00{--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-6637 .elementor-element.elementor-element-03a3317{--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-6637 .elementor-element.elementor-element-03a3317:not(.elementor-motion-effects-element-type-background), .elementor-6637 .elementor-element.elementor-element-03a3317 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-6637 .elementor-element.elementor-element-9d3ad0f.xpro-widget-bg-overlay:before{transition:background 0.3s;}.elementor-6637 .elementor-element.elementor-element-9d3ad0f .jet-form-builder__label{text-align:left;}.elementor-6637 .elementor-element.elementor-element-9d3ad0f .jet-form-builder__desc{text-align:left;}.elementor-6637 .elementor-element.elementor-element-9d3ad0f .jet-form-builder__fields-group{gap:0.7em 0.7em;}.elementor-6637 .elementor-element.elementor-element-9d3ad0f .jet-form-builder__field-wrap.checkradio-wrap span{gap:8px;}.elementor-6637 .elementor-element.elementor-element-9d3ad0f .jet-form-builder input{color-scheme:normal;}.elementor-6637 .elementor-element.elementor-element-9d3ad0f .jet-form-builder-repeater__row-remove{align-self:flex-start;}.elementor-6637 .elementor-element.elementor-element-9d3ad0f .jet-form-builder__action-button{transition:all 0.3s;}.elementor-6637 .elementor-element.elementor-element-9d3ad0f .jet-form-builder__next-page-wrap{text-align:left;}.elementor-6637 .elementor-element.elementor-element-9d3ad0f .jet-form-builder-message--success{text-align:center;}.elementor-6637 .elementor-element.elementor-element-9d3ad0f .jet-form-builder-message--error{text-align:center;}.elementor-6637 .elementor-element.elementor-element-9d3ad0f .jet-form-limit-message{text-align:left;}.elementor-6637 .elementor-element.elementor-element-d19df5b{--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(min-width:768px){.elementor-6637 .elementor-element.elementor-element-17c9d00{--width:25%;}.elementor-6637 .elementor-element.elementor-element-03a3317{--width:50%;}.elementor-6637 .elementor-element.elementor-element-d19df5b{--width:25%;}}@media(max-width:767px){.elementor-6637 .elementor-element.elementor-element-b3cd3a5{--content-width:85%;--min-height:100vh;}.elementor-6637 .elementor-element.elementor-element-03a3317{--width:100%;}}/* Start custom CSS *//* ---------- GLOBAL TOKENS & MESH BACKGROUND ---------- */
:root {
  --easl-bg-mesh:
    radial-gradient(at 0% 0%, hsla(197, 85%, 45%, 1) 0px, transparent 50%),
    radial-gradient(at 100% 0%, hsla(180, 80%, 40%, 1) 0px, transparent 50%),
    radial-gradient(at 100% 100%, hsla(240, 50%, 20%, 1) 0px, transparent 50%),
    radial-gradient(at 0% 100%, hsla(230, 60%, 15%, 1) 0px, transparent 50%),
    radial-gradient(at 50% 50%, hsla(280, 40%, 45%, 0.6) 0px, transparent 50%),
    #000040;

  --easl-card: #ffffff;
  --easl-text: #111827;
  --easl-muted: #6b7280;
  --easl-border: #d8dee6;
  --easl-border-2: #c9d2de;
  --easl-shadow: 0 30px 60px rgba(0, 0, 0, 0.25);

  --easl-primary: #0fa958;
  --easl-primary-2: #0b7f43;
  --easl-danger: #d64545;

  --easl-radius: 14px;
  --easl-radius-field: 10px;
  --easl-font: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;

  --easl-gap: 18px;
  --easl-field-h: 46px;

  /* WordPress admin bar height */
  --wp-bar-h: 32px;
}

@media (max-width: 782px) {
  :root {
    --wp-bar-h: 46px;
  }
}

/* ---------- PAGE BACKGROUND ---------- */
html,
body {
  margin: 0;
  min-height: 100%;
  background: var(--easl-bg-mesh) !important;
  background-attachment: fixed !important;
  background-size: cover !important;
}

/* ---------- CLEAR WRAPPER BACKGROUNDS ---------- */
#page,
.site-header,
.site-footer,
header,
footer,
.elementor-location-header,
.elementor-location-footer,
.easl-upsl-shell {
  background: transparent !important;
  border: none !important;
}

/* ---------- CENTER THE FORM CARD ---------- */
.easl-upsl-shell {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  box-sizing: border-box !important;
  padding: 5vh 20px !important;
  background: transparent !important;

  /* Center within visible screen area */
  min-height: calc(100vh - var(--wp-bar-h)) !important;
}

/* If user is not logged in, there is no WP admin bar */
body:not(.admin-bar) .easl-upsl-shell {
  min-height: 100vh !important;
}

/* Elementor editor preview adjustment */
.elementor-editor-active .easl-upsl-shell {
  min-height: calc(100vh - 120px) !important;
}

/* ---------- WHITE FORM CARD ---------- */
.easl-upsl-card {
  background: var(--easl-card) !important;
  border-radius: var(--easl-radius) !important;
  box-shadow: var(--easl-shadow) !important;
  padding: 52px !important;
  width: 100% !important;
  max-width: 1000px !important;
  max-height: 80vh !important;
  overflow-y: auto !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  position: relative !important;
  z-index: 1 !important;
}

/* Prevent header/footer from pushing layout */
.site-header,
header,
.elementor-location-header,
.site-footer,
footer,
.elementor-location-footer {
  margin: 0 !important;
  width: 100% !important;
}

/* ---------- BASE TYPOGRAPHY ---------- */
.easl-upsl-form,
.easl-upsl-form * {
  font-family: var(--easl-font) !important;
}

.easl-upsl-form {
  color: var(--easl-text) !important;
}

/* ---------- HEADINGS ---------- */
.easl-upsl-form .easl-form-h4 .elementor-heading-title {
  font-size: 20px !important;
  font-weight: 800 !important;
  letter-spacing: -0.01em !important;
  color: var(--easl-text) !important;
  margin: 0 0 16px 0 !important;
}

.easl-upsl-form h4,
.easl-upsl-form .jet-form-builder__heading,
.easl-upsl-form .jet-form-builder__field-heading {
  font-size: 20px !important;
  font-weight: 800 !important;
  letter-spacing: -0.01em !important;
  color: var(--easl-text) !important;
  margin: 18px 0 14px 0 !important;
}

/* ---------- LABELS + HELP TEXT ---------- */
.easl-upsl-form label,
.easl-upsl-form .jet-form-builder__label {
  font-size: 13px !important;
  font-weight: 650 !important;
  color: #374151 !important;
  margin-bottom: 8px !important;
}

.easl-upsl-form .jet-form-builder__description,
.easl-upsl-form .jet-form-builder__field-description,
.easl-upsl-form small {
  color: var(--easl-muted) !important;
  font-size: 12px !important;
  line-height: 1.35 !important;
}

/* ---------- FIELD SPACING ---------- */
.easl-upsl-form .jet-form-builder-row,
.easl-upsl-form .jet-form-builder__row {
  gap: var(--easl-gap) !important;
}

.easl-upsl-form .jet-form-builder__field-wrap {
  margin-bottom: 18px !important;
}

/* ---------- INPUTS / SELECTS / TEXTAREAS ---------- */
.easl-upsl-form input[type="text"],
.easl-upsl-form input[type="email"],
.easl-upsl-form input[type="tel"],
.easl-upsl-form input[type="number"],
.easl-upsl-form input[type="password"],
.easl-upsl-form input[type="url"],
.easl-upsl-form select,
.easl-upsl-form textarea {
  width: 100% !important;
  height: var(--easl-field-h) !important;
  border: 1px solid var(--easl-border) !important;
  border-radius: var(--easl-radius-field) !important;
  background: #fff !important;
  color: var(--easl-text) !important;
  padding: 12px 14px !important;
  font-size: 14px !important;
  outline: none !important;
  box-shadow: none !important;
}

.easl-upsl-form textarea {
  min-height: 120px !important;
  height: auto !important;
  padding-top: 12px !important;
}

/* ---------- FOCUS ---------- */
.easl-upsl-form input:focus,
.easl-upsl-form select:focus,
.easl-upsl-form textarea:focus {
  border-color: rgba(15, 169, 88, 0.75) !important;
  box-shadow: 0 0 0 4px rgba(15, 169, 88, 0.16) !important;
}

.easl-upsl-form ::placeholder {
  color: #9ca3af !important;
}

/* ---------- FILE UPLOAD ---------- */
.easl-upsl-form input[type="file"] {
  width: 100% !important;
  height: auto !important;
  padding: 0 !important;
  border: none !important;
}

.easl-upsl-form .jet-form-builder-file-upload,
.easl-upsl-form .jet-form-builder__file-upload,
.easl-upsl-form .jet-form-builder-file-field,
.easl-upsl-form .jet-form-builder__field.file-field,
.easl-upsl-form .jet-form-builder__field.file-upload {
  border: 2px dashed var(--easl-border) !important;
  border-radius: 12px !important;
  background: #f8fafc !important;
  padding: 18px !important;
}

.easl-upsl-form .jet-form-builder-file-upload__dropzone,
.easl-upsl-form .jet-form-builder__file-upload-dropzone {
  min-height: 120px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  gap: 10px !important;
  color: var(--easl-muted) !important;
}

/* ---------- STEP PROGRESS ---------- */
.easl-upsl-form .jet-form-builder-progress,
.easl-upsl-form .jet-form-builder__progress {
  margin: 0 0 22px 0 !important;
  padding: 0 !important;
}

.easl-upsl-form .jet-form-builder-progress__item,
.easl-upsl-form .jet-form-builder__progress-item {
  font-size: 12px !important;
  color: #6b7280 !important;
}

.easl-upsl-form .jet-form-builder-progress__item.is-active .jet-form-builder-progress__marker,
.easl-upsl-form .jet-form-builder__progress-item.is-active .jet-form-builder__progress-marker {
  border-color: var(--easl-primary) !important;
  color: var(--easl-primary) !important;
}

.easl-upsl-form .jet-form-builder-progress__marker,
.easl-upsl-form .jet-form-builder__progress-marker {
  width: 34px !important;
  height: 34px !important;
  border-radius: 999px !important;
  border: 2px solid #d1d5db !important;
  background: #fff !important;
  box-shadow: none !important;
}

/* ---------- BUTTONS ---------- */
.easl-upsl-form button,
.easl-upsl-form .jet-form-builder__action-button,
.easl-upsl-form .jet-form-builder__submit {
  border-radius: 10px !important;
  padding: 12px 22px !important;
  font-weight: 750 !important;
  font-size: 14px !important;
  line-height: 1 !important;
  transition: all 0.18s ease !important;
}

.easl-upsl-form .jet-form-builder__submit,
.easl-upsl-form button[type="submit"] {
  background: var(--easl-primary) !important;
  border: 1px solid var(--easl-primary) !important;
  color: #fff !important;
  box-shadow: 0 10px 24px rgba(15, 169, 88, 0.2) !important;
}

.easl-upsl-form .jet-form-builder__submit:hover,
.easl-upsl-form button[type="submit"]:hover {
  background: var(--easl-primary-2) !important;
  border-color: var(--easl-primary-2) !important;
  transform: translateY(-1px) !important;
}

.easl-upsl-form .jet-form-builder__prev-page,
.easl-upsl-form button.jet-form-builder__prev-page {
  background: #fff !important;
  border: 1px solid var(--easl-border-2) !important;
  color: #111827 !important;
}

.easl-upsl-form .jet-form-builder__prev-page:hover {
  border-color: var(--easl-primary) !important;
  box-shadow: 0 0 0 4px rgba(15, 169, 88, 0.1) !important;
}

/* ---------- VALIDATION ---------- */
.easl-upsl-form .jet-form-builder__message,
.easl-upsl-form .jet-form-builder__error,
.easl-upsl-form .jet-form-builder__field-error {
  color: var(--easl-danger) !important;
  font-size: 12px !important;
  font-weight: 650 !important;
}

.easl-upsl-form .is-invalid input,
.easl-upsl-form .is-invalid select,
.easl-upsl-form .is-invalid textarea {
  border-color: rgba(214, 69, 69, 0.7) !important;
  box-shadow: 0 0 0 4px rgba(214, 69, 69, 0.12) !important;
}

/* ---------- MOBILE ---------- */
@media (max-width: 1024px) {
  .easl-upsl-shell {
    padding: 28px 16px !important;
  }

  .easl-upsl-card {
    padding: 34px 22px !important;
  }
}

@media (max-width: 767px) {
  .easl-upsl-shell {
    padding: 4vh 14px !important;
  }

  .easl-upsl-card {
    padding: 26px 18px !important;
    max-height: 80svh !important;
  }

  .easl-upsl-form .jet-form-builder-progress__marker,
  .easl-upsl-form .jet-form-builder__progress-marker {
    width: 30px !important;
    height: 30px !important;
  }
}

/* ================================
   FIX: Back button missing
   ================================ */
.easl-upsl-form .jet-form-builder__prev-page,
.easl-upsl-form .jet-form-builder__action-button--prev,
.easl-upsl-form .jet-form-builder__action-button.prev-page,
.easl-upsl-form .jet-form-builder__prev-page-wrap,
.easl-upsl-form .jet-form-builder__prev-page-wrap * {
  display: inline-flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}

.easl-upsl-form .jet-form-builder__actions,
.easl-upsl-form .jet-form-builder__submit-wrap,
.easl-upsl-form .jet-form-builder__next-page-wrap,
.easl-upsl-form .jet-form-builder__prev-page-wrap {
  display: flex !important;
  gap: 12px !important;
  align-items: center !important;
}

.easl-upsl-form .jet-form-builder__actions {
  flex-wrap: wrap !important;
  justify-content: flex-start !important;
}

.easl-upsl-form .jet-form-builder__page,
.easl-upsl-form .jet-form-builder__page-wrap,
.easl-upsl-form .jet-form-builder__content-wrapper {
  overflow: visible !important;
}


/* ================================
   FORCE TRUE VERTICAL CENTERING
   Add this at the VERY BOTTOM
   ================================ */

/* Make the main page wrappers fill the visible screen */
html,
body,
#page,
.site,
.site-content,
.content-area,
.site-main,
main,
.elementor,
.elementor-section-wrap,
.elementor-location-single,
.elementor-location-archive {
  min-height: 100vh !important;
}

/* Logged-in WP admin bar adjustment */
body.admin-bar #page,
body.admin-bar .site,
body.admin-bar .site-content,
body.admin-bar .content-area,
body.admin-bar .site-main,
body.admin-bar main,
body.admin-bar .elementor,
body.admin-bar .elementor-section-wrap,
body.admin-bar .elementor-location-single,
body.admin-bar .elementor-location-archive {
  min-height: calc(100vh - var(--wp-bar-h, 32px)) !important;
}

/* Turn the main wrappers into centering containers */
.site-content,
.content-area,
.site-main,
main,
.elementor,
.elementor-section-wrap {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-direction: column !important;
}

/* Your shell must occupy the available height and center its child */
.easl-upsl-shell {
  width: 100% !important;
  min-height: inherit !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 5vh 20px !important;
  margin: 0 auto !important;
}

/* The card itself should not push downward */
.easl-upsl-card {
  margin: 0 auto !important;
}

/* Remove hidden top spacing that can fake "off-center" */
.elementor-widget-container,
.elementor-container,
.elementor-column,
.elementor-widget,
.elementor-section,
.elementor-top-section {
  margin-top: 0 !important;
}

/* Editor-only: account for Elementor top UI */
.elementor-editor-active .site-main,
.elementor-editor-active main,
.elementor-editor-active .elementor,
.elementor-editor-active .elementor-section-wrap,
.elementor-editor-active .easl-upsl-shell {
  min-height: calc(100vh - 120px) !important;
}/* End custom CSS */