/* Dynamic forms (public renderer) */
.dyn-section{padding-top:clamp(24px,4vw,48px)}
.dyn-panel{padding:clamp(22px,3.4vw,40px)}
.dyn-preview-banner{position:sticky;top:0;z-index:50;padding:10px 16px;background:#fff1c9;border-bottom:1px solid #e0b84d;color:#5b4410;font-weight:700;text-align:center}
.dyn-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.dyn-step{border:0;margin:0 0 8px;padding:0;min-width:0}
.dyn-step+.dyn-step{margin-top:28px;padding-top:24px;border-top:1px solid #dbe7f1}
.dyn-form.is-multi .dyn-step+.dyn-step{margin-top:0;padding-top:0;border-top:0}
.dyn-step-head{margin-bottom:18px}
.dyn-step-head h2{margin:4px 0 6px;font-size:clamp(1.25rem,2.2vw,1.55rem);color:#0b2f55}
.dyn-step-head h2:focus{outline:none}
.dyn-step-head p{margin:0;color:#4d6479}
.dyn-step-count{display:inline-block;font-size:.75rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#0a63a8}
.dyn-progress{height:6px;border-radius:6px;background:#e3edf6;margin:0 0 26px;overflow:hidden}
.dyn-progress-bar{display:block;height:100%;width:0;border-radius:6px;background:linear-gradient(90deg,#0a63a8,#1769c2);transition:width .3s ease}
.dyn-field[hidden]{display:none!important}
.dyn-choices{display:grid;gap:10px}
.dyn-choice{display:flex;align-items:flex-start;gap:12px;min-height:48px;padding:12px 14px;border:1.5px solid #cfdce8;border-radius:12px;background:#fff;cursor:pointer;font-weight:500;line-height:1.4}
.dyn-choice input{flex:none;width:20px;height:20px;margin:1px 0 0;accent-color:#0a63a8}
.dyn-choice:has(input:checked){border-color:#0a63a8;background:#eef5fc}
.dyn-choice:has(input:focus-visible){outline:3px solid #f4c430;outline-offset:2px}
.dyn-price{color:#0a63a8;font-weight:700}
.dyn-field fieldset{border:0;padding:0;margin:0;min-width:0}
.dyn-field legend{font-weight:700;margin-bottom:10px;color:#12324f}
.dyn-field .required{font-weight:500;font-size:.78rem;color:#526a80}
.dyn-field .required[hidden]{display:none}
.dyn-field input[type=file]{width:100%;padding:12px;border:1.5px dashed #b9cfe0;border-radius:12px;background:#f8fbfe}
.dyn-current{margin:0 0 8px;font-size:.9rem}
.dyn-calculated{display:block;padding:12px 14px;border-radius:12px;background:#eef5fc;font-weight:800;font-size:1.1rem;color:#0b2f55}
.dyn-field.has-error input,.dyn-field.has-error select,.dyn-field.has-error textarea{border-color:#b3261e}
.dyn-field .field-error{min-height:1.2em}
.dyn-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:26px}
.dyn-actions [data-submit],.dyn-actions [data-next]{margin-left:auto}
.dyn-actions [hidden]{display:none}
.dyn-resume-link{margin:18px 0 0;text-align:right}
.dyn-done{text-align:center}
.dyn-done h2{font-size:1.35rem;color:#0b2f55;margin:10px 0 18px}
.dyn-done-icon{display:inline-grid;place-items:center;width:64px;height:64px;border-radius:50%;background:#e3f4ea;color:#1c7a45}
.dyn-done-icon.status-waiting_payment,.dyn-done-icon.status-waiting_list,.dyn-done-icon.status-under_review{background:#fff4d6;color:#8a5a00}
.dyn-done-icon svg{width:32px;height:32px}
.dyn-summary{display:grid;gap:12px;margin:0 0 18px;padding:18px;border-radius:14px;background:#f4f8fc;text-align:left}
.dyn-summary div{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
.dyn-summary dt{color:#526a80;font-weight:600}
.dyn-summary dd{margin:0;font-weight:800;color:#0b2f55}
.dyn-reference{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.04em;overflow-wrap:anywhere}
@media (max-width:560px){.dyn-actions .button{width:100%;justify-content:center;margin-left:0!important}.dyn-actions [data-submit],.dyn-actions [data-next]{order:-1}}
@media (prefers-reduced-motion:reduce){.dyn-progress-bar{transition:none}}
.dyn-register{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
