/* Novix — sélecteurs de variations (boutons / pastilles). La liste native WooCommerce reste la référence (masquée). */
.nvs-hidden-select{position:absolute!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;border:0!important;white-space:nowrap!important}
.nvs-wrap{display:flex;flex-wrap:wrap;gap:8px;margin:2px 0 4px}
form.variations_form .nvs-wrap button.nvs-opt{position:relative;box-shadow:none;outline:0;height:auto;margin:0;font-family:inherit;text-shadow:none;display:inline-flex;align-items:center;gap:7px;min-height:40px;min-width:44px;padding:6px 14px;border:1px solid #d6d6d6;border-radius:var(--wd-brd-radius,6px);background:#fff;color:#333;font-size:14px;line-height:1.2;font-weight:500;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease,transform .12s ease,background-color .15s ease;-webkit-tap-highlight-color:transparent;text-transform:none;letter-spacing:0}
form.variations_form .nvs-wrap button.nvs-opt:hover{border-color:#999}
form.variations_form .nvs-wrap button.nvs-opt:focus-visible{outline:2px solid var(--wd-primary-color,#83b735);outline-offset:2px}
form.variations_form .nvs-wrap button.nvs-opt.is-selected{border-color:var(--wd-primary-color,#83b735);box-shadow:0 0 0 1px var(--wd-primary-color,#83b735) inset;background:#fafafa;font-weight:600}
form.variations_form .nvs-wrap button.nvs-opt.is-selected::after{content:"";position:absolute;top:-6px;right:-6px;width:16px;height:16px;border-radius:50%;background:var(--wd-primary-color,#83b735) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.5l2.5 2.5L12 5.5' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/12px no-repeat}
form.variations_form .nvs-wrap button.nvs-opt.nvs-pop{transform:scale(.96)}
.nvs-dot{flex:0 0 auto;width:20px;height:20px;border-radius:50%;border:1px solid rgba(0,0,0,.18);box-shadow:inset 0 0 0 2px #fff}
form.variations_form .nvs-wrap button.nvs-opt.is-oos{color:#999;background:#fafafa}
form.variations_form .nvs-wrap button.nvs-opt.is-oos .nvs-txt{text-decoration:line-through}
form.variations_form .nvs-wrap button.nvs-opt.is-na{color:#bbb;background:#f6f6f6;border-style:dashed;cursor:not-allowed}
form.variations_form .nvs-wrap button.nvs-opt.is-na .nvs-txt{text-decoration:line-through}
form.variations_form .nvs-wrap button.nvs-opt.is-na .nvs-dot{opacity:.45}
.nvs-chosen{font-weight:600;color:#333;margin-left:6px}
.nvs-msg{display:none;margin:8px 0 10px;padding:10px 12px;border-radius:var(--wd-brd-radius,6px);border:1px solid #f0c36d;background:#fff8e6;color:#6b4e00;font-size:14px;line-height:1.4}
.nvs-msg.is-visible{display:block}
.nvs-missing .nvs-wrap{animation:nvs-shake .35s ease 1}
.nvs-missing th.label label{color:#c0392b}
@keyframes nvs-shake{0%,100%{transform:translateX(0)}25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}
@media (prefers-reduced-motion:reduce){form.variations_form .nvs-wrap button.nvs-opt{transition:none}.nvs-missing .nvs-wrap{animation:none}form.variations_form .nvs-wrap button.nvs-opt.nvs-pop{transform:none}}
@media (max-width:768px){.nvs-wrap{gap:7px}form.variations_form .nvs-wrap button.nvs-opt{min-height:42px;padding:6px 12px;font-size:14px}}
.product-grid-item .nvs-wrap,.wd-quick-shop .nvs-wrap,.wd-quick-shop-2 .nvs-wrap{justify-content:center}
form.variations_form .nvs-wrap button.nvs-opt:hover:not(.is-selected):not(.is-na){background:#fff;color:#333}
