/* Support v3 step-by-step slider (stepper.js). Only affects ol.sv3-stepper lists. v1, 23 Oct 2026 */
ol.sv3-stepper[hidden],.sv3-stepui[hidden],.sv3-stepui-back[hidden]{display:none !important}
.sv3-stepui{margin:6px 0 10px;font-family:inherit;color:inherit}
.sv3-stepui .st-stage{position:relative;border:1px solid #e3e3ee;border-radius:12px;overflow:hidden;background:#f6f6fa;aspect-ratio:16/10}
.sv3-stepui .st-stage img{position:absolute;top:0;left:0;width:100%;height:100%;max-width:none;margin:0;border:0;border-radius:0;object-fit:cover;opacity:0;transition:opacity .25s ease}
.sv3-stepui .st-stage img.st-on{opacity:1}
.sv3-stepui .st-body{display:flex;gap:16px;align-items:flex-start;margin:18px 0 6px;min-height:5.2em}
.sv3-stepui .st-num{flex:0 0 auto;width:44px;height:44px;border-radius:50%;background:#5f5ca7;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:19px;line-height:1}
.sv3-stepui .st-of{font-size:14px;color:#6b6b88;margin:0 0 2px}
.sv3-stepui .st-text,.sv3-stepui .st-text p{margin:0;font-size:18px;line-height:1.55}
.sv3-stepui .st-nav{display:flex;align-items:center;gap:12px;margin:14px 0 4px}
.sv3-stepui .st-btn{font:inherit;font-size:16px;font-weight:700;line-height:1.2;border-radius:999px;padding:10px 22px;cursor:pointer;border:2px solid #5f5ca7;box-shadow:none;text-transform:none;letter-spacing:normal}
.sv3-stepui .st-prev{background:transparent;color:#5f5ca7}
.sv3-stepui .st-next{background:#5f5ca7;color:#fff;margin-left:auto}
.sv3-stepui .st-btn:disabled{opacity:.35;cursor:default}
.sv3-stepui .st-btn:focus-visible,.sv3-stepui .st-dot:focus-visible,.sv3-stepui-toggle:focus-visible{outline:3px solid #5f5ca7;outline-offset:3px}
.sv3-stepui .st-track{position:relative;display:flex;justify-content:space-between;list-style:none;margin:22px 0 0;padding:0;counter-reset:none}
.sv3-stepui .st-track::before{content:"";position:absolute;left:16px;right:16px;top:50%;height:3px;background:#d9d8ea;transform:translateY(-50%)}
.sv3-stepui .st-fill{position:absolute;left:16px;top:50%;height:3px;background:#5f5ca7;transform:translateY(-50%);transition:width .25s ease}
.sv3-stepui .st-track li{position:relative;margin:0;padding:0;list-style:none;background:none;border:0}
.sv3-stepui .st-track li::before,.sv3-stepui .st-track li::marker{content:none;display:none}
.sv3-stepui .st-dot{font:inherit;font-size:14px;font-weight:700;line-height:1;width:32px;height:32px;border-radius:50%;cursor:pointer;border:2px solid #d9d8ea;background:#fff;color:#6b6b88;display:flex;align-items:center;justify-content:center;padding:0;margin:0;transition:transform .15s ease}
.sv3-stepui .st-dot.st-done{background:#5f5ca7;border-color:#5f5ca7;color:#fff}
.sv3-stepui .st-dot[aria-current="step"]{border-color:#5f5ca7;color:#5f5ca7;background:#fff;transform:scale(1.18)}
.sv3-stepui-toggle{font:inherit;font-size:15px;background:none;border:0;color:#5f5ca7;text-decoration:underline;cursor:pointer;padding:0;margin:18px 0 0;box-shadow:none}
@media (max-width:520px){
  .sv3-stepui .st-dot{width:26px;height:26px;font-size:12px}
  .sv3-stepui .st-track::before,.sv3-stepui .st-fill{left:13px}
  .sv3-stepui .st-track::before{right:13px}
  .sv3-stepui .st-text,.sv3-stepui .st-text p{font-size:17px}
  .sv3-stepui .st-num{width:38px;height:38px;font-size:17px}
}
@media (prefers-reduced-motion:reduce){.sv3-stepui *{transition:none !important}}
