/* Pesto — swatche wariantów. */
.pesto-swatch-hidden{position:absolute!important;opacity:0;width:1px;height:1px;pointer-events:none}
.pesto-swatches{display:flex;flex-wrap:wrap;gap:.5rem;margin:.3rem 0 .2rem}
.pesto-swatch{cursor:pointer;border:1.5px solid var(--pesto-line,#e7e3da);background:var(--pesto-base,#fff);border-radius:var(--pesto-radius-pill,999px);font:inherit;color:var(--pesto-ink,#121316);transition:.15s}
.pesto-swatch--text{padding:.45rem 1rem;font-weight:600;font-size:.9rem}
.pesto-swatch--color{width:var(--pesto-sw-size,34px);height:var(--pesto-sw-size,34px);border-radius:var(--pesto-sw-radius,50%);background:var(--sw);position:relative}
.pesto-swatch--color.pesto-swatch--light{border-color:#cfcfcf}
.pesto-swatch--image{width:calc(var(--pesto-sw-size,34px) + 16px);height:calc(var(--pesto-sw-size,34px) + 16px);border-radius:var(--pesto-sw-radius,50%);padding:0;background-image:var(--sw-img);background-size:cover;background-position:center;background-repeat:no-repeat;overflow:hidden}
.pesto-swatch--image.is-selected{box-shadow:0 0 0 2px #fff inset,0 0 0 4px var(--pesto-accent,#c8a24a)}
.pesto-swatch:hover{border-color:var(--pesto-accent,#c8a24a)}
.pesto-swatch.is-selected{border-color:var(--pesto-accent,#c8a24a);box-shadow:0 0 0 2px var(--pesto-accent,#c8a24a) inset}
.pesto-swatch--color.is-selected{box-shadow:0 0 0 2px #fff inset,0 0 0 4px var(--pesto-accent,#c8a24a)}
.pesto-swatch:focus-visible{outline:2px solid var(--pesto-accent,#c8a24a);outline-offset:2px}
