.elementor-1321 .elementor-element.elementor-element-c02127e{--display:flex;--padding-top:20px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;}#elementor-popup-modal-1321{background-color:rgba(0,0,0,.8);justify-content:center;align-items:center;pointer-events:all;}#elementor-popup-modal-1321 .dialog-message{width:720px;height:auto;}#elementor-popup-modal-1321 .dialog-close-button{display:flex;}#elementor-popup-modal-1321 .dialog-widget-content{box-shadow:2px 8px 23px 3px rgba(0,0,0,0.2);margin:30px 0px 0px 0px;}/* Start custom CSS for shortcode, class: .elementor-element-df4c58b */.join-ministry {
    --gf-color-primary: #B8923C;
    --gf-color-primary-rgb: 184, 146, 60;
    --gf-color-primary-contrast: #0B2A5E;
    --gf-local-bg-color: #FBF8F1;
    --gf-ctrl-border-color: #DFD8C9;
    --gf-ctrl-radius: 12px;

    --jc-navy: #0B2A5E;
    --jc-gold: #B8923C;
    --jc-accent: #1A5DAD;
    --jc-cream: #FBF8F1;
    --jc-ink: #2B2E33;
    --jc-muted: #6B6F76;
    --jc-line: #DFD8C9;
}
.gform_heading .gform_title,
.gform_heading .gform_description
{
    text-align:center;
}
/* ---- Form container ---- */
form.join-ministry {
    max-width: 760px !important;
    margin: 0 auto !important;
    padding: 44px 44px 36px !important;
    background: #ffffff !important;
    border: 1px solid var(--jc-line) !important;
    border-top: 5px solid var(--jc-gold) !important;
    border-radius: 18px !important;
    box-shadow: 0 20px 50px rgba(11, 31, 77, 0.10) !important;
    font-family: 'Source Sans 3', system-ui, sans-serif !important;
    color: var(--jc-ink) !important;
}

/* ---- Field grid spacing ---- */
form.join-ministry .gform_fields { gap: 26px 24px !important; }
form.join-ministry .gfield { margin: 0 !important; }

/* ---- Reset fieldset chrome ---- */
form.join-ministry fieldset {
    border: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    min-width: 0 !important;
}

/* ---- Name: first / last side by side ---- */
form.join-ministry .ginput_complex.ginput_container--name {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 16px !important;
}
form.join-ministry .ginput_complex .gform-grid-col { display: block !important; }

/* ---- Labels & legends ---- */
form.join-ministry .gfield_label,
form.join-ministry legend.gfield_label {
    font-family: 'Playfair Display', serif !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    color: var(--jc-navy) !important;
    margin-bottom: 8px !important;
    padding: 0 !important;
    letter-spacing: 0.2px !important;
}
form.join-ministry .gform-field-label--type-sub {
    font-family: 'Source Sans 3', sans-serif !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    color: var(--jc-muted) !important;
    margin-bottom: 6px !important;
}
form.join-ministry .gfield_required_text {
    color: var(--jc-gold) !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    margin-left: 4px !important;
}

/* ---- Text / email / tel / select inputs ---- */
form.join-ministry input[type="text"],
form.join-ministry input[type="email"],
form.join-ministry input[type="tel"],
form.join-ministry .gform-phone__input,
form.join-ministry select {
    width: 100% !important;
    font-family: 'Source Sans 3', sans-serif !important;
    font-size: 16px !important;
    color: var(--jc-ink) !important;
    background-color: var(--jc-cream) !important;
    border: 1.5px solid var(--jc-line) !important;
    border-radius: 12px !important;
    padding: 13px 16px !important;
    transition: border-color .2s ease, box-shadow .2s ease, background .2s ease !important;
    box-sizing: border-box !important;
}
form.join-ministry input::placeholder { color: #9AA0A8 !important; }

form.join-ministry input[type="text"]:focus,
form.join-ministry input[type="email"]:focus,
form.join-ministry input[type="tel"]:focus,
form.join-ministry .gform-phone__input:focus,
form.join-ministry select:focus {
    outline: none !important;
    background-color: #ffffff !important;
    border-color: var(--jc-gold) !important;
    box-shadow: 0 0 0 3px rgba(184, 146, 60, 0.18) !important;
}


/* ---- Radio buttons ---- */
form.join-ministry .gfield_radio { display: flex !important; flex-wrap: wrap !important; gap: 10px !important; }
form.join-ministry .gchoice { display: flex !important; align-items: center !important; }
form.join-ministry .gfield-choice-input[type="radio"] {
    appearance: none !important;
    -webkit-appearance: none !important;
    width: 20px !important;
    height: 20px !important;
    border: 2px solid var(--jc-navy) !important;
    border-radius: 50% !important;
    background: #fff !important;
    cursor: pointer !important;
    transition: border-color .2s ease, box-shadow .2s ease !important;
    position: relative !important;
    flex: 0 0 auto !important;
}
form.join-ministry .gfield-choice-input[type="radio"]:checked {
    border-color: var(--jc-gold) !important;
    box-shadow: inset 0 0 0 4px var(--jc-gold) !important;
}
form.join-ministry .gfield-choice-input[type="radio"]:focus-visible {
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(184, 146, 60, 0.25), inset 0 0 0 4px var(--jc-gold) !important;
}
form.join-ministry .gchoice label {
    font-size: 15px !important;
    font-weight: 500 !important;
    color: var(--jc-ink) !important;
    margin-left: 8px !important;
    cursor: pointer !important;
}

/* ---- Submit button (primary = gold fill) ---- */
form.join-ministry .gform_footer { margin-top: 32px !important; padding: 0 !important; }
form.join-ministry .gform_button {
    font-family: 'Source Sans 3', sans-serif !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    letter-spacing: 0.3px !important;
    color: var(--jc-navy) !important;
    background: var(--jc-gold) !important;
    border: none !important;
    border-radius: 999px !important;
    padding: 15px 42px !important;
    cursor: pointer !important;
    transition: transform .18s ease, box-shadow .18s ease, background .18s ease !important;
    box-shadow: 0 12px 28px rgba(184, 146, 60, 0.30) !important;
}
form.join-ministry .gform_button:hover {
    background: #A87F2E !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 16px 34px rgba(184, 146, 60, 0.38) !important;
}
form.join-ministry .gform_button:active { transform: translateY(0) !important; }

/* ---- Validation states ---- */
form.join-ministry .gfield_error input,
form.join-ministry .gfield_error select { border-color: #C0392B !important; }
form.join-ministry .gfield_validation_message,
form.join-ministry .validation_message {
    color: #C0392B !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    margin-top: 6px !important;
}

/* ---- Responsive ---- */
@media (max-width: 640px) {
    form.join-ministry { padding: 30px 22px 26px !important; border-radius: 14px !important; }
    form.join-ministry .ginput_complex.ginput_container--name { grid-template-columns: 1fr !important; }
    form.join-ministry .gform_button { width: 100% !important; }
}/* End custom CSS */