/* Specificity is kept low on purpose: migrated styling (per-block rules) must be able to override it. */
.ne-fm{--ne-fm-line:#69727d}
.ne-fm__fields{display:flex;flex-wrap:wrap;margin:0 -5px -10px}
.ne-fm__row{box-sizing:border-box;display:flex;flex-wrap:wrap;align-items:center;position:relative;flex:0 0 100%;max-width:100%;margin:0 0 10px;padding:0 5px}
.ne-fm__label{flex:0 0 100%;display:block;margin:0;font-weight:400;line-height:1;cursor:pointer}
.is-required .ne-fm__label::after{content:"*";padding-inline-start:.2em;color:#f00}
.ne-fm .ne-fm__control{flex:1 1 100%;display:block;box-sizing:border-box;width:100%;max-width:100%;margin:0;border:1px solid var(--ne-fm-line);background:#fff;color:inherit;font:inherit;line-height:1.4;-webkit-appearance:none;appearance:none}
.ne-fm__control::placeholder{opacity:.7}
.ne-fm__control--select{line-height:1.5}
.ne-fm__control[type=file]{padding:6px}
.ne-fm__select{position:relative;flex:1 1 100%;display:flex}
.ne-fm__select .ne-fm__control--select[multiple]{background-image:none}
.ne-fm__caret{position:absolute;top:50%;right:10px;margin-top:-5.5px;display:block;width:11px;height:11px;pointer-events:none;line-height:0}
.ne-fm__options{flex:1 1 100%}
.ne-fm .ne-fm__check{display:inline-block;width:auto;min-width:0;height:auto;margin:0;padding:0;vertical-align:baseline}
.ne-fm__option{display:block;line-height:1.5}
.ne-fm__options.is-inline .ne-fm__option{display:inline-block;padding-inline-end:20px}
.ne-fm__option label{display:inline;margin:0;font-weight:400;cursor:pointer}
.ne-fm__html{flex:1 1 100%}
.ne-fm__html>:first-child{margin-top:0}
.ne-fm__row--html{align-items:flex-start}
.ne-fm__hp{position:absolute;left:-9999px;width:1px;height:1px;margin:0;overflow:hidden}
.ne-fm .ne-fm__hp *{width:1px;height:1px;margin:0;padding:0;border:0}
.ne-fm__status{margin:12px 0 0}
.ne-fm__status.is-success{color:#166534}
.ne-fm__status.is-error{color:#b91c1c}
.ne-fm button[disabled]{opacity:.6;cursor:wait}

/* Widths */
.ne-fm__w100{flex-basis:100%;max-width:100%}
.ne-fm__w80{flex-basis:80%;max-width:80%}
.ne-fm__w75{flex-basis:75%;max-width:75%}
.ne-fm__w70{flex-basis:70%;max-width:70%}
.ne-fm__w66{flex-basis:66.666%;max-width:66.666%}
.ne-fm__w60{flex-basis:60%;max-width:60%}
.ne-fm__w50{flex-basis:50%;max-width:50%}
.ne-fm__w40{flex-basis:40%;max-width:40%}
.ne-fm__w33{flex-basis:33.333%;max-width:33.333%}
.ne-fm__w30{flex-basis:30%;max-width:30%}
.ne-fm__w25{flex-basis:25%;max-width:25%}
.ne-fm__w20{flex-basis:20%;max-width:20%}

/* Sizes */
.ne-fm--size-xs .ne-fm__control{min-height:33px;padding:4px 12px;border-radius:2px;font-size:13px}
.ne-fm--size-xs .ne-fm__control--select{padding:4px 20px 4px 12px;font-size:16px}
.ne-fm--size-sm .ne-fm__control{min-height:40px;padding:8px 16px;border-radius:3px;font-size:15px}
.ne-fm--size-sm .ne-fm__control--textarea{padding:5px 14px}
.ne-fm--size-sm .ne-fm__control--select{padding:5px 20px 5px 14px;font-size:16px}
.ne-fm--size-md .ne-fm__control{min-height:47px;padding:6px 16px;border-radius:4px;font-size:16px}
.ne-fm--size-md .ne-fm__control--select{padding:6px 20px 6px 16px;font-size:16px}
.ne-fm--size-lg .ne-fm__control{min-height:59px;padding:7px 20px;border-radius:5px;font-size:18px}
.ne-fm--size-lg .ne-fm__control--select{padding:7px 20px;font-size:16px}
.ne-fm--size-xl .ne-fm__control{min-height:72px;padding:8px 24px;border-radius:6px;font-size:20px}
.ne-fm--size-xl .ne-fm__control--select{padding:8px 20px 8px 24px;font-size:16px}

/* Buttons */
.ne-fm .ne-fm__btn,.ne-fm .ne-fm__btn:hover,.ne-fm .ne-fm__btn:focus{background-color:var(--ne-accent,#2563eb);color:var(--ne-on-accent,#fff)}
.ne-fm .ne-fm__btn{box-sizing:border-box;display:block;width:100%;margin:0;border:0;border-radius:3px;font:inherit;font-weight:500;line-height:1;text-align:center;text-decoration:none;cursor:pointer;-webkit-appearance:none;appearance:none;transition:background-color .3s,color .3s,border-color .3s}
.ne-fm__btn-in{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:5px}
.ne-fm__btn-text{display:block}
.ne-fm__row--btn{align-items:flex-end}
.ne-fm__align-start{justify-content:flex-start}
.ne-fm__align-center{justify-content:center}
.ne-fm__align-end{justify-content:flex-end}
.ne-fm .ne-fm__align-start .ne-fm__btn,.ne-fm .ne-fm__align-center .ne-fm__btn,.ne-fm .ne-fm__align-end .ne-fm__btn{width:auto}
.ne-fm__content-start .ne-fm__btn-in{justify-content:flex-start}
.ne-fm__content-center .ne-fm__btn-in{justify-content:center}
.ne-fm__content-end .ne-fm__btn-in{justify-content:flex-end}
.ne-fm__content-space-between .ne-fm__btn-in{justify-content:space-between}
.ne-fm--bsize-xs .ne-fm__btn{min-height:33px;padding:10px 20px;border-radius:2px;font-size:13px}
.ne-fm--bsize-sm .ne-fm__btn{min-height:40px;padding:0 24px;border-radius:3px;font-size:15px}
.ne-fm--bsize-md .ne-fm__btn{min-height:47px;padding:15px 30px;border-radius:4px;font-size:16px}
.ne-fm--bsize-lg .ne-fm__btn{min-height:59px;padding:20px 40px;border-radius:5px;font-size:18px}
.ne-fm--bsize-xl .ne-fm__btn{min-height:72px;padding:25px 50px;border-radius:6px;font-size:20px}

/* Steps */
.ne-fm__step{flex:0 0 100%;max-width:100%;display:flex;flex-wrap:wrap}
.ne-fm__stepnav{flex:0 0 100%;display:flex;flex-wrap:wrap}
.ne-fm--steps.is-enhanced .ne-fm__step:not(.is-current){display:none}
.ne-fm--steps:not(.is-enhanced) .ne-fm__btn--next,.ne-fm--steps:not(.is-enhanced) .ne-fm__btn--prev{display:none}
.ne-fm--steps:not(.is-enhanced) .ne-fm__indicators{display:none}
.ne-fm__indicators{display:flex;justify-content:space-between;align-items:flex-start;margin:0 0 20px;font-size:13px;font-weight:500;line-height:1.5}
.ne-fm__indicator{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0 10px;color:var(--ne-fm-text,#7a7a7a)}
.ne-fm__indicator:first-child{padding-inline-start:0}
.ne-fm__indicator:last-child{padding-inline-end:0}
.ne-fm__ind-sep{flex:1 1 auto;height:1px;margin-top:14.5px;background:#babfc5}
.ne-fm__indicators--text .ne-fm__ind-sep{margin-top:6px}
.ne-fm__ind-mark{display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:30px;height:30px;margin-bottom:10px;border:1px solid currentColor;background:#fff;color:inherit;line-height:1}
.ne-fm__indicators--number .ne-fm__ind-mark,.ne-fm__indicators--icon .ne-fm__ind-mark{margin-bottom:0}
.ne-fm__ind-mark--circle{border-radius:50%}
.ne-fm__ind-mark--rounded{border-radius:5px}
.ne-fm__ind-mark--none{border:0;background:none}
.ne-fm__ind-label{line-height:1;text-align:center}
.ne-fm__indicator.is-active,.ne-fm__indicator.is-completed .ne-fm__ind-label{color:var(--ne-accent,#2563eb)}
.ne-fm__indicator.is-completed{color:#fff}
.ne-fm__indicator.is-completed .ne-fm__ind-mark{background:var(--ne-accent,#2563eb);border-color:#fff}
.ne-fm__progress{flex:1 1 100%;height:20px;background:var(--ne-fm-text,#7a7a7a)}
.ne-fm__progress-meter{height:100%;background:var(--ne-accent,#2563eb);color:var(--ne-fm-text,#7a7a7a);box-sizing:border-box;padding-right:10px;text-align:right;line-height:20px;font-size:13px;font-weight:500;overflow:hidden;white-space:nowrap}

/* Narrow screens: fields stack (the step buttons keep sharing a line). */
@media (max-width:767px){
	.ne-fm__fields>.ne-fm__row,.ne-fm__step>.ne-fm__row{flex-basis:100%;max-width:100%}
}
