.sp-overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);display:none;align-items:center;justify-content:center;z-index:99999;padding:16px}
.sp-overlay.is-open{display:flex}
.sp-modal{position:relative;background:#fffdf9;width:100%;max-width:560px;max-height:92vh;overflow-y:auto;border-radius:20px;padding:28px 32px;color:#2b1840;font-family:inherit}
.sp-close{position:absolute;top:14px;right:18px;background:none;border:0;font-size:32px;line-height:1;cursor:pointer;color:#2b1840}
.sp-title{text-align:center;font-weight:400;letter-spacing:.12em;font-size:26px;margin:0 30px 24px}
.sp-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;font-size:17px}
.sp-row a{color:#2b1840;text-decoration:underline}
.sp-sizes{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:20px}
.sp-size{border:1px solid #2b1840;background:#fff;color:#2b1840;border-radius:999px;padding:14px 22px;font-size:16px;cursor:pointer;transition:.15s}
.sp-size:hover{background:#f3eefa}
.sp-size.active{background:#2b1840;color:#fff}
.sp-help{background:#f4f0fa;border:1px solid #ddd5ea;border-radius:12px;margin-bottom:20px}
#sp-help-btn{width:100%;text-align:left;background:none;border:0;padding:20px;font-size:17px;color:#2b1840;cursor:pointer}
.sp-help-body{display:none;padding:0 20px 20px}
.sp-help.open .sp-help-body{display:block}
.sp-help-body label{display:block;margin:10px 0 4px;font-size:14px}
.sp-help-body input{width:100%;padding:10px;border:1px solid #cfc5e0;border-radius:8px;font-size:16px;box-sizing:border-box}
.sp-fit{display:flex;gap:8px}
.sp-fit button{flex:1;padding:9px;border:1px solid #2b1840;background:#fff;border-radius:8px;cursor:pointer}
.sp-fit button.active{background:#2b1840;color:#fff}
.sp-calc,.sp-apply{margin-top:14px;padding:11px 18px;border:0;border-radius:999px;background:#2b1840;color:#fff;cursor:pointer}
.sp-result{margin-top:14px;font-size:16px}
.sp-chartbox{margin-bottom:20px;font-size:13px}
.sp-chart{width:100%;border-collapse:collapse;margin-bottom:8px}
.sp-chart th,.sp-chart td{border:1px solid #ddd5ea;padding:7px;text-align:center}
.sp-chart th{background:#f4f0fa}
.sp-select{width:100%;padding:20px;border:0;border-radius:999px;background:#2b1840;color:#fff;font-size:18px;font-weight:700;letter-spacing:.05em;cursor:pointer}
.sp-select:disabled{background:#9a8ba0;cursor:not-allowed}
.sp-hidden-product{display:none !important}
.sp-bar{display:none;align-items:center;gap:10px;flex-wrap:wrap;margin:12px 0;font-size:15px}
.sp-bar.show{display:flex}
.sp-bar button{border:1px solid #2b1840;background:#fff;color:#2b1840;border-radius:999px;padding:6px 14px;cursor:pointer}
.sp-empty{display:none;text-align:center;padding:40px 10px;font-size:17px}
.sp-empty.show{display:block}
@media(max-width:520px){.sp-modal{padding:22px 18px}.sp-title{font-size:20px}.sp-size{padding:11px 16px;font-size:14px}}
