/* ─────────────────────────────────────────────
   0.  KEEP your existing button + file‑upload styling
   ───────────────────────────────────────────── */
.jet-form-builder .jet-form-builder__submit,
.jet-form-builder button[type="submit"]{
    background:#2a7678!important;
    color:#fff!important;
    font-size:30px!important;
    padding:10px 20px!important;
    border:none!important;
    border-radius:8px!important;
    display:inline-block!important;      /* inline‑block lets margin auto work */
    margin:20px auto 0!important;         /* centred & small top gap */
    text-align:center!important;
}

.jet-form-builder .jet-form-builder__field-file{
    text-align:center!important;
}
.jet-form-builder .jet-form-builder__field-file input[type="file"]{
    display:inline-block!important;
    margin:0 auto!important;
}

/* ─────────────────────────────────────────────
   1.  REMOVE the extra space above Elementor Shortcode widgets
       (affects desktop, tablet, mobile)
   ───────────────────────────────────────────── */
.elementor-widget-shortcode,
.elementor-shortcode{
    margin-top:0!important;
    padding-top:0!important;
    text-align:center!important;   /* centres anything inside, including form */
}

/* ─────────────────────────────────────────────
   2.  OPTIONAL: hide JetForm success / error boxes site‑wide
   ───────────────────────────────────────────── */
.jet-form-message{display:none!important;}

/* JetFormBuilder – hide any error message box (nonce_failed, validation, etc.) */
.jet-form-message--error {
    display: none !important;
}

/* Hide JetForm initial red error box (“nonce_failed”, etc.) */
.jet-form-builder-message--error,         /* the class you just found */
.jet-form-builder-message,                /* parent wrapper, just in case */
.jet-form-builder__message--error,        /* alt. class some versions use */
.jet-form-message--error,                 /* you already had this one     */
.jet-form-message{                        /* generic fallback             */
    display:none !important;
}

/* Fix nav dropdown gap — keeps hover active while moving to dropdown */
.cn-menu > li {
  padding-bottom: 16px !important;
  margin-bottom: -16px !important;
}
.cn-drop {
  top: calc(100% - 16px) !important;
}
/* Homepage nav fix */
.cg-nav-menu > li {
  padding-bottom: 16px !important;
  margin-bottom: -16px !important;
}
.cg-dropdown {
  top: calc(100% - 16px) !important;
}

.cn-drop a {
  text-transform: none !important;
  letter-spacing: 0 !important;
  font-family: 'Inter', sans-serif !important;
}

.cn-drop a:hover {
  background: rgba(255,255,255,0.07) !important;
  color: #ffffff !important;
}

/* Prevent Elementor from injecting teal onto any button inside our custom pages */
.cg-wrap button,
.cg-wrap button:hover,
.cg-wrap button:focus,
.cg-wrap button:active,
.cn button,
.cn button:hover,
.cgw button,
.cgw button:hover {
  background-color: transparent !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  -webkit-appearance: none !important;
  appearance: none !important;
}

/* Dropdown text case fix */
.cn-drop a, .cg-dropdown a {
  text-transform: none !important;
  letter-spacing: 0 !important;
}
.cn-drop a:hover, .cg-dropdown a:hover {
  background: rgba(255,255,255,0.07) !important;
  color: #ffffff !important;
}


/* Fix Elementor Kit (.elementor-kit-36 a) injecting Bebas Neue 46px */
/* Scoped ONLY to the modal CTA and role selector card links */
a.crs-cta,
a.crs-cta:hover,
a.crs-cta:visited,
.crs-card-link,
.crs-card-link:hover {
  font-family: 'Inter', system-ui, sans-serif !important;
  font-size: 13px !important;
  font-style: normal !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}

/* Dropdown text fix */
.cn-drop a, .cg-dropdown a {
  text-transform: none !important;
  letter-spacing: 0 !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 13px !important;
}
.cn-drop a:hover, .cg-dropdown a:hover {
  background: rgba(255,255,255,0.07) !important;
  color: #ffffff !important;
}

/* Nav + modal buttons - prevent Elementor teal injection */
.cg-wrap button,
.cgw button,
.cn button {
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  box-shadow: none !important;
  -webkit-appearance: none !important;
  appearance: none !important;
}

/* Fix Elementor Kit h1 injection (Bebas Neue 50px) on role selector heading */
.crs-heading {
  font-family: 'Montserrat', sans-serif !important;
  font-size: clamp(44px, 7vw, 80px) !important;
  font-style: italic !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  letter-spacing: -0.02em !important;
}

/* Hide theme footer sitewide — replaced by custom .cg-footer in page HTML */
.site-footer, footer.site-footer, #colophon, .footer-widgets, .wp-block-template-part[data-slug="footer"] { display: none !important; }

/* Fix Elementor Kit anchor injection on footer email + links */
.cg-footer a:not(.cg-footer-cta), .cg-footer a:not(.cg-footer-cta):hover, .cg-footer a:not(.cg-footer-cta):visited {
  font-family: 'Inter', system-ui, sans-serif !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  font-style: normal !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  color: rgba(255,255,255,0.5) !important;
}
.cg-footer-email:hover,
.cg-footer-links a:hover,
.cg-footer-legal a:hover { color: #fff !important; }
.cg-footer-cta, .cg-footer-cta:hover, .cg-footer-cta:visited {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: #081716 !important;
}
/* Stronger theme footer hide */
.site-footer, footer.site-footer, #colophon, .footer-widgets,
.wp-block-template-part, [data-type="core/template-part"],
.wp-site-blocks > footer, body > footer:not(.cg-footer) {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  overflow: hidden !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Nav Login + Create Account — force inline display, beat .cgw a catch-all */
.cn > div { display: flex !important; gap: 8px !important; align-items: center !important; flex-shrink: 0 !important; }
.cg-nav > div { display: flex !important; gap: 8px !important; align-items: center !important; flex-shrink: 0 !important; }
.cn > div > a, .cg-nav > div > a { display: inline-block !important; }
@media(max-width:800px){ .cn > div { display: none !important; } .cg-nav > div { display: none !important; } }