/* PA premium two-step student form (9 Oct 2026). Brand: red #FF3131 action, blue #0012FF focus/accents, white card. */
.pa-fx { --fx-blue: #0012ff; --fx-deep: #000db2; --fx-red: #ff3131; --fx-ink: #0b1033; --fx-muted: #5b6080; --fx-line: #dfe3f3; --fx-tint: #f6f7ff;
	position: relative; background: #fff; border-radius: 20px; box-shadow: 0 24px 60px rgba(11, 16, 51, .14), 0 2px 6px rgba(11, 16, 51, .06); overflow: hidden; font-family: Onest, system-ui, sans-serif; color: var(--fx-ink); }
.pa-ds-formbox.pa-fx-box { padding: 0; border: 0; border-radius: 20px; box-shadow: none; background: transparent; }
.pa-ds-formbox.pa-fx-box .pa-ds-formbox__alt { margin: 12px 0 4px; }
.pa-fx-head { position: relative; padding: 0 24px; }
.pa-fx-photo { position: relative; margin: 0 -24px 16px; height: 120px; overflow: hidden; }
.pa-fx-photo img { width: 100%; height: 100% !important; object-fit: cover; display: block; max-width: none !important; }
.pa-fx-photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(5, 8, 30, 0) 40%, rgba(5, 8, 30, .45)); }
.pa-fx-stripe { position: absolute; left: 0; right: 0; bottom: 0; height: 5px; display: flex; z-index: 1; }
.pa-fx-stripe i { flex: 1; background: var(--fx-red); }
.pa-fx-stripe i + i { background: var(--fx-blue); }
.pa-fx-brand { display: flex; align-items: center; gap: 8px; font-size: 11px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--fx-red); }
.pa-fx-brand img { width: 22px; height: 22px; border-radius: 6px; }
.pa-fx .pa-fx-title { margin: 6px 0 4px; font-size: 22px; font-weight: 800; line-height: 1.2; letter-spacing: -.02em; color: var(--fx-ink); }
.pa-fx-title span { color: var(--fx-blue); }
.pa-fx-lead { margin: 0 0 12px; font-size: 14px; color: var(--fx-muted); }
.pa-fx-prog { display: flex; align-items: center; gap: 12px; margin-bottom: 6px; font-size: 12px; font-weight: 700; color: var(--fx-ink); }
.pa-fx-prog__bar { flex: 1; height: 4px; border-radius: 4px; background: var(--fx-tint); overflow: hidden; }
.pa-fx-prog__bar i { display: block; width: 50%; height: 100%; background: linear-gradient(90deg, var(--fx-red), var(--fx-blue)); transition: width .4s ease; }
.pa-fx-prog.is-2 .pa-fx-prog__bar i { width: 100%; }
.pa-fx-saved { display: flex; gap: 10px; align-items: flex-start; margin: 10px 0 0; padding: 10px 12px; background: #effaf3; border-radius: 12px; font-size: 13px; color: #14532d; animation: pa-fx-rise .4s ease both; }

/* Form body */
.pa-fx .pa-fx-form { padding: 14px 24px 22px; }
.pa-fx .elementor-form-fields-wrapper { margin: 0 !important; row-gap: 14px; }
.pa-fx .elementor-field-group { padding: 0 !important; margin: 0 0 14px !important; position: relative; }
.pa-fx-form[data-step="1"] .pa-fx-s2, .pa-fx-form[data-step="2"] .pa-fx-s1 { display: none !important; }
.pa-fx-form[data-step="2"] .pa-fx-s2 { animation: pa-fx-rise .35s ease both; }
.pa-fx .pa-fx-hide { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }

/* Large rounded inputs with floating labels */
.pa-fx .elementor-field-textual, .pa-fx select.elementor-field-textual { min-height: 56px; border: 1.5px solid var(--fx-line) !important; border-radius: 14px !important; background: #fff !important; font-size: 16px !important; color: var(--fx-ink) !important; padding: 22px 16px 8px !important; box-shadow: none; transition: border-color .15s, box-shadow .15s; }
.pa-fx textarea.elementor-field-textual { min-height: 96px; padding-top: 26px !important; }
.pa-fx .elementor-field-textual:focus { outline: none; border-color: var(--fx-blue) !important; box-shadow: 0 0 0 4px rgba(0, 18, 255, .16) !important; }
.pa-fx .pa-fx-float > .elementor-field-label { position: absolute; left: 17px; top: 17px; z-index: 1; margin: 0; font-size: 15px; font-weight: 500; color: var(--fx-muted); pointer-events: none; transition: all .15s ease; }
.pa-fx .pa-fx-float.is-filled > .elementor-field-label, .pa-fx .pa-fx-float:focus-within > .elementor-field-label { top: 7px; font-size: 11px; font-weight: 700; letter-spacing: .02em; color: var(--fx-blue); }
.pa-fx .elementor-field-group.elementor-mark-required .elementor-field-label::after { color: var(--fx-red); }
.pa-fx .elementor-select-wrapper .select-caret-down-wrapper { right: 14px; }
.pa-fx .elementor-field-type-acceptance > .elementor-field-label, .pa-fx .pa-fx-pills > .elementor-field-label, .pa-fx .pa-fx-chips-g > .elementor-field-label { position: static; display: block; margin: 0 0 8px; font-size: 13px; font-weight: 700; color: var(--fx-ink); }

/* Chips and pills */
.pa-fx-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.pa-fx-chip { display: inline-flex; align-items: center; gap: 8px; min-height: 42px; padding: 0 16px; border: 1.5px solid var(--fx-line); border-radius: 999px; background: #fff; color: var(--fx-ink); font: 600 14px/1 Onest, system-ui, sans-serif; cursor: pointer; transition: border-color .15s, background .15s, transform .15s; }
.pa-fx-chip:hover { border-color: var(--fx-blue); transform: translateY(-1px); }
.pa-fx-chip:focus-visible { outline: 3px solid rgba(0, 18, 255, .35); outline-offset: 2px; }
.pa-fx-chip[aria-checked="true"] { border-color: var(--fx-blue); background: var(--fx-blue); color: #fff; }
.pa-fx-chips--photo .pa-fx-chip { padding: 4px 14px 4px 4px; }
.pa-fx-chips--photo img { width: 32px !important; height: 32px !important; border-radius: 50%; object-fit: cover; }
.pa-fx-chip__q { width: 32px; height: 32px; border-radius: 50%; background: var(--fx-tint); color: var(--fx-blue); display: grid; place-items: center; font-weight: 800; }
.pa-fx .pa-fx-pills .elementor-field-subgroup { display: flex; flex-wrap: wrap; gap: 8px; }
.pa-fx .pa-fx-pills .elementor-field-option { margin: 0 !important; position: relative; }
.pa-fx .pa-fx-pills .elementor-field-option input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.pa-fx .pa-fx-pills .elementor-field-option label { display: inline-flex; align-items: center; min-height: 42px; padding: 0 18px; border: 1.5px solid var(--fx-line); border-radius: 999px; font-weight: 600; font-size: 14px; cursor: pointer; transition: all .15s; }
.pa-fx .pa-fx-pills .elementor-field-option input:checked + label { background: var(--fx-blue); border-color: var(--fx-blue); color: #fff; }
.pa-fx .pa-fx-pills .elementor-field-option input:focus-visible + label { outline: 3px solid rgba(0, 18, 255, .35); outline-offset: 2px; }
.pa-fx .elementor-field-type-acceptance .elementor-field-option { display: flex; gap: 10px; align-items: flex-start; font-size: 13px; line-height: 1.45; color: var(--fx-muted); }
.pa-fx .elementor-field-type-acceptance input { width: 20px; height: 20px; margin-top: 1px; accent-color: var(--fx-blue); flex: none; }

/* Buttons */
.pa-fx-btn, .pa-fx .elementor-button.pa-fx-btn { width: 100%; min-height: 56px; display: inline-flex; justify-content: center; align-items: center; gap: 10px; border: 0; border-radius: 999px !important; background: #e5121a !important; color: #fff !important; font: 800 17px/1 Onest, system-ui, sans-serif !important; letter-spacing: .01em; cursor: pointer; box-shadow: 0 10px 24px rgba(255, 49, 49, .32); transition: transform .18s ease, box-shadow .18s ease, background .18s; }
.pa-fx-btn:hover { transform: translateY(-2px); box-shadow: 0 14px 30px rgba(229, 18, 26, .4); background: #c40f16 !important; }
.pa-fx-btn:focus-visible { outline: 3px solid rgba(0, 18, 255, .45); outline-offset: 3px; }
.pa-fx-btn.is-busy { opacity: .7; cursor: progress; }
.pa-fx .e-form__buttons { margin-bottom: 0 !important; }
.pa-fx-nav { width: 100%; }
.pa-fx-note { margin: 10px 0 0; font-size: 11.5px; color: var(--fx-muted); text-align: center; }
.pa-fx-note a { color: var(--fx-blue); }
.pa-fx-back { margin: 0 0 10px; padding: 4px 0; border: 0; background: none; color: var(--fx-blue); font: 700 13px Onest, system-ui, sans-serif; cursor: pointer; }
.pa-fx-trust { width: 100%; display: flex; justify-content: center; align-items: center; gap: 6px; margin: 10px 0 0; font-size: 12px; color: var(--fx-muted); }
.pa-fx-trust svg { color: #16a34a; }

/* Validation */
.pa-fx .is-invalid .elementor-field-textual { border-color: #d92d20 !important; box-shadow: 0 0 0 4px rgba(217, 45, 32, .12) !important; }
.pa-fx-err { margin: 6px 2px 0; font-size: 12.5px; font-weight: 600; color: #b42318; }
.pa-fx .elementor-message { margin-top: 10px; padding: 10px 12px; border-radius: 12px; font-size: 13px; }
.pa-fx .elementor-message-danger { background: #fef3f2; color: #b42318; }
.pa-fx .elementor-message-success { background: #effaf3; color: #14532d; }
.pa-fx .elementor-message::before { display: none; }

/* Success check */
.pa-fx-check { flex: none; width: 22px; height: 22px; border-radius: 50%; background: #16a34a; display: grid; place-items: center; }
.pa-fx-check svg { width: 14px; height: 14px; fill: none; stroke: #fff; stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 24; stroke-dashoffset: 24; animation: pa-fx-draw .45s .1s ease forwards; }
.pa-fx-done { position: absolute; inset: 0; z-index: 5; background: rgba(255, 255, 255, .96); display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 12px; text-align: center; padding: 24px; animation: pa-fx-rise .35s ease both; }
.pa-fx-check--big { width: 64px; height: 64px; animation: pa-fx-pop .35s ease both; }
.pa-fx-check--big svg { width: 34px; height: 34px; }
@keyframes pa-fx-draw { to { stroke-dashoffset: 0; } }
@keyframes pa-fx-rise { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
@keyframes pa-fx-pop { from { transform: scale(.6); opacity: 0; } to { transform: none; opacity: 1; } }
@media (prefers-reduced-motion: reduce) {
	.pa-fx *, .pa-fx-done, .pa-fx-saved { animation: none !important; transition: none !important; }
	.pa-fx-check svg { stroke-dashoffset: 0; }
	.pa-fx-btn:hover, .pa-fx-chip:hover { transform: none; }
}
@media (max-width: 700px) {
	.pa-fx .pa-fx-title { font-size: 20px; }
	.pa-fx .pa-fx-form { padding: 12px 18px 20px; }
	.pa-fx-head { padding: 0 18px; }
	.pa-fx-photo { margin: 0 -18px 14px; height: 104px; }
}

/* Select inside the 56px field: room for descenders under the floated label */
.pa-fx select.elementor-field-textual { height: 56px; line-height: 1.3 !important; padding: 21px 40px 5px 16px !important; }
