/* FormStudio WP – theme-neutral accessible frontend */
.fswp-root{--fswp-accent:#ed1c24;--fswp-radius:10px;--fswp-gap:16px;font-family:inherit;color:inherit;width:100%;max-width:100%}
.fswp-root *, .fswp-root *:before, .fswp-root *:after{box-sizing:border-box}
.fswp-root .fswp-honey{position:absolute!important;width:1px;height:1px;left:-9999px;overflow:hidden;opacity:0;pointer-events:none}
.fswp-root .fswp-step{display:none}.fswp-root .fswp-step.is-active{display:block}.fswp-root .fswp-step[hidden]{display:none!important}
.fswp-root .fswp-step-heading{font-size:1.35em;font-weight:800;line-height:1.3;margin:0 0 20px}
.fswp-root .fswp-grid{display:flex;flex-wrap:wrap;gap:var(--fswp-gap);align-items:start}
.fswp-root .fswp-field{flex:0 0 calc(var(--fswp-field-w,100%) - 0px);min-width:0;max-width:100%}
.fswp-root .fswp-w-100{--fswp-field-w:100%}.fswp-root .fswp-w-75{--fswp-field-w:calc(75% - var(--fswp-gap)*.25)}
.fswp-root .fswp-w-66{--fswp-field-w:calc(66.666% - var(--fswp-gap)*.34)}.fswp-root .fswp-w-50{--fswp-field-w:calc(50% - var(--fswp-gap)*.5)}
.fswp-root .fswp-w-33{--fswp-field-w:calc(33.333% - var(--fswp-gap)*.667)}.fswp-root .fswp-w-25{--fswp-field-w:calc(25% - var(--fswp-gap)*.75)}
.fswp-root .fswp-field[hidden]{display:none!important}
.fswp-root .fswp-field-hidden{display:none!important}
.fswp-root .fswp-label{display:block;margin-bottom:8px;font-size:.94rem;font-weight:750;line-height:1.4}
.fswp-root .fswp-required{color:var(--fswp-accent);font-weight:900}
.fswp-root input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=range]),
.fswp-root select,.fswp-root textarea{
 display:block;width:100%;max-width:100%;min-height:46px;
 padding:12px 14px;border:1px solid #bcc7d5;border-radius:var(--fswp-radius);
 color:#213147;background:#fff;box-shadow:none;line-height:1.4;font:inherit;font-size:1rem;
 transition:border-color .15s ease,box-shadow .15s ease;
}
.fswp-root input[type=file]{padding:11px!important;font-size:.92rem!important}
.fswp-root textarea{min-height:120px;resize:vertical}
.fswp-root input:focus-visible,.fswp-root select:focus-visible,.fswp-root textarea:focus-visible,.fswp-root button:focus-visible{outline:3px solid color-mix(in srgb,var(--fswp-accent) 32%,transparent);outline-offset:2px}
.fswp-root input[aria-invalid=true],.fswp-root textarea[aria-invalid=true],.fswp-root select[aria-invalid=true]{border-color:#c72134!important}
.fswp-root .fswp-choices{display:flex;flex-direction:column;gap:10px}
.fswp-root .fswp-choice{display:flex;align-items:flex-start;gap:10px;font-size:.95rem;line-height:1.5;cursor:pointer}
.fswp-root .fswp-choice input{width:18px;height:18px;flex:0 0 18px;margin-top:3px;accent-color:var(--fswp-accent)}
.fswp-root .fswp-description{margin:6px 0 0;font-size:.82rem;color:#667488;line-height:1.5}
.fswp-root .fswp-error{margin:6px 0 0;color:#b71932;font-size:.83rem;font-weight:700}
.fswp-root h3{margin:8px 0 2px;line-height:1.25}
.fswp-root input[type=range]{width:100%;accent-color:var(--fswp-accent)}
.fswp-root .fswp-controls{display:flex;justify-content:flex-start;align-items:center;gap:12px;margin-top:22px;flex-wrap:wrap}
.fswp-root .fswp-controls button{font:inherit;min-height:46px;border-radius:var(--fswp-radius);cursor:pointer;padding:12px 25px;border:1px solid transparent;font-weight:800;line-height:1.4;transition:filter .15s ease,transform .15s ease}
.fswp-root .fswp-submit,.fswp-root .fswp-next{background:var(--fswp-accent);color:#fff}
.fswp-root .fswp-back{background:transparent;border-color:#bbc4d1!important;color:inherit}
.fswp-root .fswp-submit.fswp-full{width:100%}
.fswp-root .fswp-controls button:hover{filter:brightness(.94);transform:translateY(-1px)}
.fswp-root button[disabled]{opacity:.65;cursor:wait}
.fswp-root .fswp-controls button[hidden]{display:none!important}
.fswp-root .fswp-response{margin-top:14px;font-size:.95rem;line-height:1.5}
.fswp-root .fswp-response:not(:empty){padding:13px 15px;border-radius:var(--fswp-radius);background:#f4f6fa}
.fswp-root .fswp-response.is-success{background:#e6f6eb;color:#165b32}
.fswp-root .fswp-response.is-error{background:#fff0f2;color:#a5142a}
@media(max-width:680px){.fswp-root .fswp-field{flex-basis:100%!important}.fswp-root .fswp-controls{gap:9px}.fswp-root .fswp-controls button{padding:12px 16px}}
@media(prefers-reduced-motion:reduce){.fswp-root *{transition:none!important}}

/* FormStudio 1.1 – responsive, accessible Elementor-like stepper */
.fswp-root .fswp-progress{margin:0 0 clamp(23px,3.2vw,36px);font:inherit;max-width:100%}
.fswp-root .fswp-progress-summary{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 14px;color:#5e708b;font-size:.78rem;line-height:1.5}
.fswp-root .fswp-progress-counter{font-weight:900;color:var(--fswp-accent)}
.fswp-root .fswp-progress-counter[hidden]{display:none}
.fswp-root .fswp-progress-current-title{font-weight:750;max-width:70%;text-align:right;color:#334663}
.fswp-root .fswp-progress-track{width:100%;height:7px;background:#e5eaf1;border-radius:9px;overflow:hidden;margin:6px 0 20px}
.fswp-root .fswp-progress-fill{display:block;width:0;height:100%;border-radius:inherit;background:var(--fswp-accent);transition:width .25s ease}
.fswp-root .fswp-progress-list{margin:0!important;padding:0!important;display:flex;list-style:none;align-items:flex-start;justify-content:stretch;gap:6px}
.fswp-root .fswp-progress-item{position:relative;min-width:0;flex:1;list-style:none!important;margin:0!important;padding:0!important}
.fswp-root .fswp-progress-button{width:100%;font:inherit;color:#607089;background:transparent;border:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:8px;padding:6px 2px 3px;text-align:center;cursor:pointer;border-radius:9px;line-height:1.3}
.fswp-root .fswp-progress-button:disabled{opacity:1;cursor:default}
.fswp-root .fswp-progress-number{width:36px;height:36px;min-width:36px;display:grid;place-items:center;border:2px solid #cbd5e2;border-radius:50%;background:#fff;font-size:.82rem;color:#52617a;font-weight:900;position:relative;z-index:1;transition:background .2s,border-color .2s}
.fswp-root .fswp-progress-title{font-size:clamp(.69rem,.85vw,.82rem);overflow-wrap:anywhere;font-weight:750}
.fswp-root .fswp-progress-item.is-current .fswp-progress-number{background:var(--fswp-accent);color:#fff;border-color:var(--fswp-accent)}
.fswp-root .fswp-progress-item.is-current .fswp-progress-title{color:var(--fswp-accent);font-weight:900}
.fswp-root .fswp-progress-item.is-complete .fswp-progress-number{background:#eaf7f0;color:#12693b;border-color:#40a16b}
.fswp-root .fswp-progress-item.is-complete .fswp-progress-button:hover{background:#f3f7fc}
.fswp-root .fswp-step-intro{margin-bottom:23px}
.fswp-root .fswp-step-heading{margin:0 0 8px;font-size:clamp(1.25rem,2.3vw,1.8rem);line-height:1.2;letter-spacing:-.025em;color:inherit}
.fswp-root .fswp-step-description{margin:0;color:#607089;font-size:.92rem;line-height:1.65}
.fswp-root .fswp-step.is-active{animation:fswp-step-arrive .18s ease-out both}
@keyframes fswp-step-arrive{from{opacity:.5;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:680px){.fswp-root .fswp-progress-list{gap:0}.fswp-root .fswp-progress-title{font-size:.7rem;line-height:1.3}.fswp-root .fswp-progress-number{width:32px;height:32px;min-width:32px}.fswp-root .fswp-progress-summary{font-size:.75rem}}
@media(prefers-reduced-motion:reduce){.fswp-root .fswp-step.is-active{animation:none}.fswp-root .fswp-progress-fill{transition:none}}
