/* Swatchly – variation swatches */
.swatchly-wrap select[data-swatchly]{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important;overflow:hidden!important;clip:rect(0 0 0 0)!important}
.swatchly-wrap{position:relative}
.swatchly{--swatchly-size:36px;--swatchly-radius:50%;--swatchly-accent:#111827;display:flex;flex-wrap:wrap;gap:8px;margin:2px 0 6px}
.swatchly__o{position:relative;display:inline-flex;align-items:center;justify-content:center;min-width:var(--swatchly-size);height:var(--swatchly-size);padding:0;margin:0;border:2px solid #e5e7eb;border-radius:var(--swatchly-radius);background:#fff;color:#111827;font:inherit;font-size:14px;font-weight:600;line-height:1;cursor:pointer;transition:border-color .15s,box-shadow .15s,transform .1s;-webkit-tap-highlight-color:transparent}
.swatchly--button .swatchly__o,.swatchly--image .swatchly__o .swatchly__txt{border-radius:10px}
.swatchly--button .swatchly__o{padding:0 14px;min-width:calc(var(--swatchly-size) + 8px)}
.swatchly__o:hover{border-color:#9ca3af}
.swatchly__o:focus-visible{outline:3px solid color-mix(in srgb,var(--swatchly-accent) 35%,transparent);outline-offset:2px}
.swatchly__o.is-on{border-color:var(--swatchly-accent);box-shadow:0 0 0 1px var(--swatchly-accent)}
.swatchly--button .swatchly__o.is-on{background:var(--swatchly-accent);color:#fff}
.swatchly__dot{display:block;width:calc(100% - 6px);height:calc(100% - 6px);border-radius:var(--swatchly-radius);background:linear-gradient(135deg,var(--c) 50%,var(--c2) 50%);box-shadow:inset 0 0 0 1px rgba(0,0,0,.08)}
.swatchly--image .swatchly__o{width:calc(var(--swatchly-size) + 12px);height:calc(var(--swatchly-size) + 12px);overflow:hidden;border-radius:10px}
.swatchly--image .swatchly__o img{width:100%;height:100%;object-fit:cover;display:block;border-radius:8px}
.swatchly__o.is-oos{opacity:.45}
.swatchly__o.is-oos:after{content:"";position:absolute;left:50%;top:-3px;bottom:-3px;width:2px;background:#9ca3af;transform:translateX(-50%) rotate(45deg);pointer-events:none}
.swatchly__o.is-off{display:none}
.swatchly-chosen{font-weight:400;color:#4b5563}
.swatchly-loop{display:flex;align-items:center;gap:5px;margin:4px 0 6px}
.swatchly-loop__dot{width:14px;height:14px;border-radius:var(--swatchly-radius,50%);box-shadow:inset 0 0 0 1px rgba(0,0,0,.12)}
.swatchly-loop__more{font-size:12px;color:#6b7280;font-weight:600}
@media(prefers-reduced-motion:reduce){.swatchly__o{transition:none}}
