:root{--zavs-size-width:48px;--zavs-size-height:38px;--zavs-color-size:32px;--zavs-gap:8px;--zavs-font-size:13px;--zavs-selected:#111;--zavs-border:#d7d7d7}

/* Keep WooCommerce native selectors functional but visually hidden. */
.single-product form.variations_form table.variations{
 position:absolute!important;left:-99999px!important;top:auto!important;width:1px!important;height:1px!important;
 overflow:hidden!important;opacity:0!important;pointer-events:none!important
}
.zavs-product-panel{display:block!important;visibility:visible!important;opacity:1!important;margin:18px 0 20px;position:relative;z-index:20}
.zavs-product-row{display:block;margin:0 0 20px}
.zavs-product-label{display:block;margin:0 0 10px;color:#111;font-size:15px;font-weight:600;line-height:1.4}
.zavs-wrap{display:flex!important;flex-wrap:wrap!important;align-items:center;gap:var(--zavs-gap,8px);margin:0!important;padding:0!important;visibility:visible!important;opacity:1!important}
.zavs-swatch{position:relative;display:inline-flex!important;visibility:visible!important;opacity:1;align-items:center;justify-content:center;min-width:var(--zavs-size-width,48px);height:var(--zavs-size-height,38px);padding:0 12px;border:1px solid var(--zavs-border,#d7d7d7);border-radius:6px;background:#fff;color:#222;font:500 var(--zavs-font-size,13px)/1.1 inherit;cursor:pointer;box-shadow:none;transition:.18s ease}
.zavs-swatch:hover{border-color:#111;transform:translateY(-1px)}
.zavs-swatch.is-selected{border-color:var(--zavs-selected,#111);background:var(--zavs-selected,#111);color:#fff;box-shadow:0 0 0 1px var(--zavs-selected,#111)}
.zavs-swatch:focus-visible{outline:2px solid #2271b1;outline-offset:2px}
.zavs-color,.zavs-image{min-width:var(--zavs-color-size,32px);width:var(--zavs-color-size,32px);height:var(--zavs-color-size,32px);padding:3px;border-radius:50%;background:#fff}
.zavs-color.is-selected,.zavs-image.is-selected{background:#fff;padding:3px}
.zavs-color-dot{display:block;width:100%;height:100%;border-radius:inherit;background:var(--zavs-color,#000);box-shadow:inset 0 0 0 1px rgba(0,0,0,.14)}
.zavs-image img{display:block;width:100%;height:100%;object-fit:cover;border-radius:inherit}
.zavs-swatch.is-disabled{opacity:.35;cursor:not-allowed;pointer-events:none}
.zavs-swatch.is-disabled.zavs-cross:after{content:"";position:absolute;left:5%;top:50%;width:90%;height:1px;background:#d00;transform:rotate(-35deg)}
.zavs-swatch.zavs-hidden{display:none!important}
.single-product form.variations_form .reset_variations{display:inline-block!important;margin:8px 0 0!important}

/* Hide only known third-party swatch interfaces, never generic div/ul elements. */
.single-product form.variations_form .ux-swatches,
.single-product form.variations_form .ux-variation-swatches,
.single-product form.variations_form .woo-variation-items-wrapper,
.single-product form.variations_form .thwvsf-wrapper-ul,
.single-product form.variations_form .wcboost-variation-swatches,
.single-product form.variations_form .wvs-archive-variation-wrapper,
.single-product form.variations_form .cfvsw-swatches-container,
.single-product form.variations_form .rtwpvs-terms-wrapper{display:none!important}

/* Product-card swatches. */
.zavs-archive-panel{display:block!important;margin:7px 0 8px;visibility:visible!important;opacity:1!important;position:relative;z-index:5}
.zavs-archive-group{display:flex!important;align-items:center;flex-wrap:wrap;gap:7px;margin:0 0 6px}
.zavs-archive-title{display:none;font-size:11px;font-weight:600;color:#666;line-height:1}
.zavs-archive-wrap{display:flex!important;flex-wrap:wrap;align-items:center;gap:6px;margin:0;min-height:28px;visibility:visible!important;opacity:1!important;position:relative;z-index:5}
.zavs-archive-swatch{box-sizing:border-box!important;display:inline-flex!important;flex:0 0 auto!important;align-items:center;justify-content:center;margin:0!important;text-decoration:none!important;box-shadow:none!important;transition:.18s ease;line-height:1!important;overflow:hidden}
.zavs-archive-color,.zavs-archive-image{width:26px!important;min-width:26px!important;max-width:26px!important;height:26px!important;min-height:26px!important;max-height:26px!important;aspect-ratio:1/1!important;padding:3px!important;border:1px solid var(--zavs-border,#d7d7d7)!important;border-radius:999px!important;background:#fff!important}
.zavs-archive-color:hover,.zavs-archive-image:hover{border-color:#111!important;transform:translateY(-1px)}
.zavs-archive-color .zavs-color-dot{box-sizing:border-box!important;display:block!important;flex:0 0 auto!important;width:100%!important;height:100%!important;aspect-ratio:1/1!important;border-radius:999px!important;background:var(--zavs-color,#000)!important;box-shadow:inset 0 0 0 1px rgba(0,0,0,.14)!important}
.zavs-archive-image img{box-sizing:border-box!important;display:block!important;width:100%!important;height:100%!important;aspect-ratio:1/1!important;object-fit:cover!important;border-radius:999px!important}
.zavs-archive-button{width:auto!important;min-width:34px!important;height:28px!important;padding:0 8px!important;border:1px solid var(--zavs-border,#d7d7d7)!important;border-radius:5px!important;background:#fff!important;color:#222!important;font-size:11px!important;font-weight:500!important;white-space:nowrap!important}
.zavs-archive-button:hover{border-color:#111!important;color:#111!important;transform:translateY(-1px)}
.zavs-archive-label{display:block;line-height:1!important}
@media(max-width:767px){.zavs-product-panel{margin-top:14px}.zavs-product-row{margin-bottom:16px}.zavs-swatch{min-width:44px;height:35px;padding:0 10px;font-size:12px}.zavs-color,.zavs-image{min-width:30px;width:30px;height:30px}.zavs-archive-color,.zavs-archive-image{width:24px!important;min-width:24px!important;max-width:24px!important;height:24px!important;min-height:24px!important;max-height:24px!important}.zavs-archive-button{height:27px!important;min-width:32px!important;padding:0 7px!important;font-size:10px!important}.zavs-archive-wrap{gap:5px}.zavs-archive-group{gap:5px;margin-bottom:5px}}
