.so-open{background:#0606a8;color:#fff;border:0;border-radius:3px;padding:15px 30px;font:700 18px Assistant,sans-serif;cursor:pointer;transition:background .2s}
.so-open:hover{background:#04047a}
.so-overlay{position:fixed;inset:0;background:rgba(0,0,20,.6);display:flex;align-items:center;justify-content:center;z-index:99999;padding:16px;direction:rtl;font-family:Assistant,sans-serif}
.so-overlay[hidden]{display:none}
.so-modal{background:#fff;width:100%;max-width:560px;max-height:92vh;overflow-y:auto;overflow-x:hidden;border-radius:8px;box-shadow:0 20px 60px rgba(0,0,0,.35);position:relative}
.so-overlay .so-close{position:absolute;top:12px;left:12px;background:transparent!important;border:0!important;box-shadow:none!important;padding:4px 8px!important;font-size:28px;line-height:1;cursor:pointer;color:#fff!important;z-index:2}
.so-head{background:#0606a8;color:#fff;padding:18px 22px}
.so-head h3{margin:0;font-size:22px;color:#fff}
.so-steps{display:flex;gap:6px;margin-top:10px}
.so-steps span{flex:1;height:4px;background:rgba(255,255,255,.3);border-radius:2px}
.so-steps span.on{background:#fff}
.so-sum{display:flex;gap:14px;align-items:center;padding:16px 22px;border-bottom:1px solid #eee;background:#f7f7fb}
.so-sum img{width:90px;height:64px;object-fit:contain}
.so-sum b{display:block;font-size:18px;color:#111}
.so-sum .so-price{color:#0606a8;font-size:20px;font-weight:700}
.so-body{padding:18px 22px}
.so-step{display:none}.so-step.on{display:block}
.so-body label{display:block;font-weight:600;margin:12px 0 4px;color:#222;font-size:15px}
.so-body input[type=text],.so-body input[type=tel],.so-body input[type=email],.so-body select,.so-body textarea{width:100%;box-sizing:border-box;padding:10px 12px;border:1px solid #ccc;border-radius:4px;font:16px Assistant,sans-serif}
.so-body input:focus,.so-body select:focus,.so-body textarea:focus{outline:2px solid #0606a8;border-color:#0606a8}
.so-opts{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.so-opts label{margin:0;font-weight:500;border:1px solid #ccc;border-radius:4px;padding:10px;cursor:pointer;display:flex;gap:8px;align-items:center}
.so-opts label:has(input:checked){border-color:#0606a8;background:#eef0ff}
.so-check{display:flex!important;gap:8px;align-items:flex-start;font-weight:400!important;font-size:14px!important}
.so-review{background:#f7f7fb;border-radius:6px;padding:12px 14px;font-size:15px;line-height:1.7}
.so-review div{display:flex;justify-content:space-between;gap:12px}.so-review div span:first-child{color:#666}
.so-note{font-size:13px;color:#666;margin-top:10px}
.so-err{color:#c00;font-size:14px;min-height:18px;margin-top:8px}
.so-nav{display:flex;gap:10px;padding:0 22px 20px}
.so-nav button{flex:1;padding:13px;border-radius:4px;font:700 17px Assistant,sans-serif;cursor:pointer;border:1px solid #0606a8}
.so-next{background:#0606a8;color:#fff}.so-back{background:#fff;color:#0606a8}
.so-nav button:disabled{opacity:.6;cursor:wait}
.so-done{text-align:center;padding:34px 22px}
.so-done .so-tick{width:64px;height:64px;border-radius:50%;background:#0a8a3a;color:#fff;font-size:36px;line-height:64px;margin:0 auto 12px}
.so-done h3{margin:0 0 6px;font-size:24px}
.so-hp{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;overflow:hidden;clip:rect(0 0 0 0);pointer-events:none}
@media(max-width:480px){.so-opts{grid-template-columns:1fr}.so-modal{max-height:100vh}}
.so-wrap{display:flex;flex-direction:column;align-items:stretch!important;gap:10px}
.so-wrap>a.elementor-button,.so-wrap>.so-open{width:100%!important;height:52px;box-sizing:border-box;padding:0 10px!important;white-space:nowrap;display:flex!important;align-items:center;justify-content:center;font-size:18px!important;line-height:1!important;border:0!important;font-weight:700}
