.sw-group{margin-bottom:22px}
.sw-current{text-transform:none;letter-spacing:0;opacity:.7}
.sw-options{display:flex;flex-wrap:wrap;gap:10px}
.sw-option{position:relative;margin:0;cursor:pointer;display:block}
.sw-input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}
.sw-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.sw-swatch{display:block;width:var(--sw-size,34px);height:var(--sw-size,34px);padding:0;border:1px solid rgba(0,0,0,.2);background:#eee;overflow:hidden;cursor:pointer;box-shadow:0 0 0 2px var(--bg,#fff)}
.sw-swatch img{width:100%;height:100%;object-fit:cover}
.sw-swatch--circle{border-radius:50%}
.sw-swatch--rounded{border-radius:6px}
.sw-input:checked+.sw-swatch{box-shadow:0 0 0 2px var(--bg,#fff),0 0 0 3px var(--text,#111)}
.sw-input:focus-visible+.sw-swatch,.sw-input:focus-visible+.sw-pill{outline:2px solid var(--text,#111);outline-offset:3px}
.sw-pill{display:block;min-width:46px;padding:9px 14px;text-align:center;border:1px solid rgba(0,0,0,.25);font-size:13px;transition:background .2s,color .2s}
.sw-input:checked+.sw-pill{background:var(--text,#111);border-color:var(--text,#111);color:var(--bg,#fff)}
.sw-option.is-unavailable .sw-pill,.sw-option.is-unavailable .sw-swatch{opacity:.4}
[data-unavailable=strike] .sw-option.is-unavailable::after{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:var(--text,#111);transform:rotate(-20deg);pointer-events:none}
[data-unavailable=hide] .sw-option.is-unavailable{display:none}
.sw-option[data-tip]::before{content:attr(data-tip);position:absolute;bottom:calc(100% + 6px);left:50%;transform:translateX(-50%);background:var(--text,#111);color:var(--bg,#fff);font-size:11px;letter-spacing:0;padding:3px 8px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .15s;z-index:2}
.sw-option[data-tip]:hover::before{opacity:1}
.sw-card{display:flex;justify-content:center;align-items:center;gap:7px;margin-top:10px;--sw-size:16px}
.sw-card .sw-swatch{box-shadow:none}
.sw-more{font-size:11px;opacity:.65}
