.bvs-group[hidden]{display:none!important}
.bvs-native-select{display:none!important}
.bvs-group{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-block:8px 12px}
.bvs-option{position:relative;display:inline-flex;margin:0;cursor:pointer;touch-action:manipulation}
.bvs-option input{position:absolute;inline-size:1px;block-size:1px;opacity:0;inset-inline-start:0;inset-block-start:0}
.bvs-face{display:flex;align-items:center;justify-content:center;gap:6px;min-inline-size:var(--bvs-size,44px);min-block-size:var(--bvs-size,44px);box-sizing:border-box;border:2px solid #d6d6d6;border-radius:var(--bvs-radius,6px);background:#fff;color:#242424;transition:background-color .15s,border-color .15s;padding:5px 12px;line-height:1.25}
.bvs-option:hover .bvs-face{border-color:var(--bvs-accent,#cd6d7b)}
.bvs-option input:focus-visible+.bvs-face{outline:3px solid #202020;outline-offset:3px}
.bvs-option.is-selected .bvs-face{border-color:var(--bvs-accent,#cd6d7b);background:var(--bvs-accent,#cd6d7b);color:var(--bvs-selected-text,#000);box-shadow:0 0 0 1px var(--bvs-accent,#cd6d7b)}
.bvs-type-color .bvs-face,.bvs-type-image .bvs-face{padding:3px}
.bvs-color,.bvs-image{display:block;inline-size:calc(var(--bvs-size,44px) - 12px);block-size:calc(var(--bvs-size,44px) - 12px);border-radius:inherit;object-fit:cover}
.bvs-option.is-disabled{cursor:not-allowed;opacity:.45}
.bvs-option.is-disabled .bvs-face:after{content:"";position:absolute;inset-inline:3px;inset-block-start:50%;block-size:2px;background:#555;transform:rotate(-35deg)}
.bvs-sr-only{position:absolute;inline-size:1px;block-size:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
@media(prefers-reduced-motion:reduce){.bvs-face{transition:none}}
@media(forced-colors:active){.bvs-option.is-selected .bvs-face{border:3px solid Highlight}.bvs-option input:focus-visible+.bvs-face{outline-color:Highlight}}

/* Match Budulina's stacked radio list: the circle alone receives the selected fill. */
.bvs-group.bvs-type-radio{
 flex-direction:column;flex-wrap:nowrap;align-items:flex-start;gap:6px;
 margin-block:6px 12px;
}
.bvs-group.bvs-type-radio .bvs-option{
 display:flex;align-items:center;gap:12px;min-block-size:30px;
 padding:0;border:0;background:none;font-family:inherit;font-size:16px;
 font-weight:600;line-height:27px;color:#5a5651;text-align:start;
}
.bvs-group.bvs-type-radio .bvs-option input[type=radio]{
 position:static;appearance:auto;-webkit-appearance:radio;opacity:1;
 flex:0 0 24px;inline-size:24px;block-size:24px;width:24px;height:24px;
 min-width:24px;max-width:24px;margin:0;padding:0;border:0;
 border-radius:50%;background:transparent;box-shadow:none;
 accent-color:var(--bvs-accent,#cd6d7b);cursor:inherit;
}
.bvs-group.bvs-type-radio .bvs-option .bvs-face{
 display:inline;min-inline-size:0;min-block-size:0;padding:0;border:0;
 border-radius:0;background:none;color:inherit;box-shadow:none;
 font:inherit;line-height:inherit;transition:none;
}
.bvs-group.bvs-type-radio .bvs-option input:focus-visible{
 outline:2px solid var(--bvs-accent,#cd6d7b);outline-offset:3px;
}
.bvs-group.bvs-type-radio .bvs-option input:focus-visible+.bvs-face{outline:none}
.bvs-group.bvs-type-radio .bvs-option.is-disabled{opacity:.8}
.bvs-group.bvs-type-radio .bvs-option.is-disabled .bvs-face{text-decoration:line-through}
.bvs-group.bvs-type-radio .bvs-option.is-disabled .bvs-face:after{content:none}


/* Keep radio controls visible even when a theme hides its own custom inputs. */
.variations_form .bvs-group.bvs-type-radio .bvs-option input[type=radio]{
 display:inline-block!important;visibility:visible!important;opacity:1!important;
}
.variations_form.bvs-enhanced .variations tr{display:block}
.variations_form.bvs-enhanced .variations th.label,
.variations_form.bvs-enhanced .variations td.value{
 display:block;width:100%;padding-inline:0;text-align:start;
}

/* Stack the label on first paint, before the enhancement script runs. */
.variations_form .variations tr:has(.bvs-control){display:block}
.variations_form .variations tr:has(.bvs-control) th.label,
.variations_form .variations tr:has(.bvs-control) td.value{display:block;width:100%;padding-inline:0;text-align:start}
