/* Shared native Gravity Forms presentation, scoped to association applications. */
.ps-public-member-state{display:inline-flex;align-items:center;gap:8px;background:#eef3f6;border:1px solid #dce5e9;border-radius:30px;padding:7px 12px;color:#31536b;font-size:13px;font-weight:600;line-height:1.4}
.ps-public-member-state::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;flex-shrink:0}
.ps-public-member-state-active{background:#edf7f1;border-color:#c6e6d4;color:#006b54}
.ps-public-member-state-expired,.ps-public-member-state-suspended{background:#fff3ec;border-color:#ead6c9;color:#85512b}
.ps-site .ps-application-panel{border-top:0;margin-block:20px 0;scroll-margin-top:150px}
.ps-site .ps-application-panel .hn-wrap{gap:22px}
.ps-site .ps-application-panel .elementor-widget-shortcode{width:100%;margin-top:14px}
.ps-site .ps-application-panel .gform_wrapper{
 --gf-ctrl-radius:10px;--gf-ctrl-size:50px;--gf-form-gap-x:28px;--gf-form-gap-y:30px;
 border-radius:24px;padding:clamp(24px,3.4vw,48px);box-shadow:0 16px 50px #0b223308;
}
.ps-site .ps-application-panel .gfield_label,.ps-site .ps-application-panel .gform-field-label{font-size:14px;line-height:1.55}
.ps-site .ps-application-panel .gfield_description{line-height:1.75}
.ps-site .ps-application-panel .gsection_title{font-size:26px;font-weight:650;letter-spacing:-.025em}
.ps-site .ps-application-panel .gfield--type-section{padding-bottom:20px;margin-top:12px;margin-bottom:4px}
.ps-site .ps-application-panel .gfield--type-section:first-child{margin-top:0}
.ps-site .ps-application-panel .gform_wrapper :is(input[type=text],input[type=email],input[type=tel],input[type=number],input[type=url],select,textarea){font-size:15px!important;border-radius:10px!important;min-height:50px}
/* Gravity Forms sets a fixed input height. The native upload button needs its own room. */
.ps-site .ps-application-panel .gform_wrapper input[type=file]{
 display:block;width:100%;height:auto!important;min-height:66px;max-height:none;
 box-sizing:border-box;padding:10px!important;margin:0;line-height:24px;
 font:400 13px/24px PSInter,Arial,sans-serif;color:var(--ps-muted);
 border:1px dashed #b0c8c1;border-radius:12px;background:var(--ps-cream);
}
.ps-site .ps-application-panel .gform_wrapper input[type=file]::file-selector-button{
 height:44px;box-sizing:border-box;vertical-align:middle;margin:0 14px 0 0;
 padding:11px 17px;border:0;border-radius:8px;line-height:22px;
 font:600 13px/22px PSInter,Arial,sans-serif;background:var(--ps-green);color:white;cursor:pointer;
 transition:background .2s;
}
.ps-site .ps-application-panel .gform_wrapper input[type=file]::file-selector-button:hover{background:var(--ps-dark)}
.ps-site .ps-application-panel .gfield--type-fileupload{padding:22px;border:1px solid var(--ps-line);border-radius:16px;background:white}
.ps-site .ps-application-panel .gfield--type-fileupload .gfield_label{margin-bottom:12px}
.ps-site .ps-application-panel .gform_drop_area{border-radius:12px;background:var(--ps-cream);padding:28px;border-color:#b0c8c1}
.ps-site .ps-application-panel :is(.gform_button,.gform_next_button,.gform_previous_button,.gform_button_select_files){border-radius:10px!important;min-height:50px;font-size:14px!important;padding:15px 25px!important}
.ps-site .ps-application-panel :is(.gform_footer,.gform_page_footer){margin-top:34px;padding-block:26px 4px;gap:16px}
.ps-site .ps-application-panel .gform_save_link{font-size:13px}
.ps-site .ps-application-panel .gf_step{border-radius:12px;gap:10px;padding:16px 13px;border:1px solid var(--ps-line)}
.ps-site .ps-application-panel .gf_step_active{border-color:var(--ps-green)}
.ps-site .ps-application-panel .gf_step_label{font-size:12px}
.ps-site .ps-application-panel .gf_step_number{width:31px;height:31px;min-width:31px;font-size:13px}
.ps-site .ps-application-panel .gform_validation_errors,.ps-site .ps-application-panel .gfield_validation_message{border-radius:12px!important}
.ps-site .ps-application-panel .gform_validation_errors{scroll-margin-top:150px}

/* Native Elementor visa guidance: the editable containers own layout and content. */
.ps-site .ps-visa-hero{overflow:hidden;position:relative}
.ps-site .ps-visa-hero::after{content:"";pointer-events:none;position:absolute;right:-100px;top:-180px;width:560px;height:560px;border:1px solid #006b5412;border-radius:50%;box-shadow:0 0 0 70px #006b5403}
.ps-site .ps-visa-brief{position:relative;isolation:isolate;overflow:hidden}
.ps-site .ps-visa-brief::after{content:"";position:absolute;right:-65px;bottom:-150px;width:300px;height:300px;border:1px solid #cef47b26;border-radius:50%;z-index:-1;pointer-events:none}
.ps-site .ps-visa-requirements .elementor-icon-list-item{align-items:flex-start}
.ps-site .ps-visa-requirements .elementor-icon-list-icon{padding-top:4px}
.ps-site .ps-visa-requirements .elementor-icon-list-text{line-height:1.75}
.ps-site .ps-visa-requirements .elementor-widget-heading h3{letter-spacing:-.025em}
.ps-site .ps-visa-published .elementor-widget-text-editor p{margin:0}
.ps-site .ps-visa-downloads .elementor-button{width:100%}
.ps-site .ps-visa-downloads .elementor-widget-button{width:100%}
.ps-site .ps-visa-note p{margin:0;line-height:1.85}
.ps-site .ps-membership-overview{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}
.ps-site .ps-membership-card-dates,.ps-directory-dialog .ps-membership-card-dates{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}
@media(max-width:767px){
 .ps-site .ps-application-panel{margin-top:12px;scroll-margin-top:110px}
 .ps-site .ps-application-panel .hn-wrap{gap:18px}
 .ps-site .ps-application-panel .gform_wrapper{padding:24px 18px;border-radius:18px;--gf-form-gap-y:24px}
 .ps-site .ps-application-panel .gfield--type-fileupload{padding:17px 14px}
 .ps-site .ps-application-panel .gform_wrapper input[type=file]{font-size:12px;padding:8px!important;min-height:62px}
 .ps-site .ps-application-panel .gform_wrapper input[type=file]::file-selector-button{margin-right:8px;padding-inline:12px;font-size:12px}
 .ps-site .ps-application-panel .gf_step{padding:12px;gap:8px}
 .ps-site .ps-application-panel .gsection_title{font-size:23px}
 .ps-site .ps-application-panel .gform_validation_errors{scroll-margin-top:110px}
}
@media(prefers-reduced-motion:reduce){.ps-site .ps-application-panel input[type=file]::file-selector-button{transition:none}}
