.smpc-wrap{margin:1em 0;clear:both}
.smpc-price{margin:.4em 0 0;font-size:.95em;opacity:.85}
.smpc-admin-badge{display:inline-block;margin-left:.6em;padding:.2em .6em;border-radius:3px;background:#fff3cd;color:#664d03;font-size:.75em;vertical-align:middle}
.smpc-tip{position:relative;display:inline-block;outline:none}
.smpc-btn.is-disabled,.smpc-btn[disabled]{opacity:.5;cursor:not-allowed;pointer-events:none}
.smpc-tip-text{visibility:hidden;opacity:0;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%);width:max-content;max-width:260px;padding:.5em .75em;border-radius:4px;background:#222;color:#fff;font-size:.85em;line-height:1.35;text-align:center;z-index:30;transition:opacity .15s}
.smpc-tip-text::after{content:"";position:absolute;top:100%;left:50%;margin-left:-6px;border:6px solid transparent;border-top-color:#222}
.smpc-tip:hover .smpc-tip-text,.smpc-tip:focus .smpc-tip-text,.smpc-tip:focus-within .smpc-tip-text{visibility:visible;opacity:1}

.smpc-dialog{border:0;padding:0;border-radius:10px;width:calc(100% - 32px);max-width:520px;max-height:calc(100vh - 32px);overflow:auto;background:#fff;color:#222;font:inherit;box-shadow:0 20px 60px rgba(0,0,0,.3)}
.smpc-dialog::backdrop{background:rgba(0,0,0,.55)}
.smpc-inner{position:relative;padding:24px}
.smpc-close{position:absolute;top:6px;right:8px;padding:4px 10px;border:0;background:none;color:inherit;font-size:28px;line-height:1;cursor:pointer}
.smpc-title{margin:0 2em .6em 0;font-size:1.4em;line-height:1.2}
.smpc-figure{margin:0 0 1em}
.smpc-img{display:block;width:100%;height:auto;max-height:320px;object-fit:contain;border-radius:6px;background:#f4f4f4}
.smpc-figure figcaption{margin-top:.3em;font-size:.8em;opacity:.7;text-align:center}
.smpc-name{margin:0 0 .6em}
.smpc-name-price{float:right}
.smpc-list{margin:0 0 1em;padding-left:1.2em}
.smpc-list li{margin-bottom:.3em}
.smpc-variation label{display:block;font-weight:600;margin-bottom:.3em}
.smpc-variation select{width:100%}
.smpc-ack{display:flex;gap:.6em;align-items:flex-start;margin:1em 0;padding:.8em;border-radius:6px;background:#f4f4f4;cursor:pointer;line-height:1.4}
.smpc-ack input{flex:0 0 auto;margin-top:.25em;width:1.1em;height:1.1em}
.smpc-submit{width:100%}
.smpc-msg{margin-top:.8em}
.smpc-msg:empty{display:none}
.smpc-msg.is-error{color:#b32d2e}
.smpc-added{font-weight:600}
.smpc-form.is-added .smpc-ack,.smpc-form.is-added .smpc-submit,.smpc-form.is-added .smpc-variation{display:none}
.smpc-thankyou ul{margin:.5em 0 0 1.2em}
