.cvig { position: relative; }
.cvig-list { display:grid; grid-template-columns:repeat(auto-fill,minmax(min(100%,var(--cvig-column,112px)),var(--cvig-column,112px))); gap:10px; margin:8px 0 16px; justify-content:start; }
.cvig .cvig-choice { box-sizing:border-box; display:flex; flex-direction:column; align-items:center; justify-content:flex-start; gap:6px; width:100%; min-width:0; max-width:none; margin:0; padding:7px; border:2px solid transparent; border-radius:6px; background:transparent; color:inherit; font:inherit; font-size:13px; line-height:1.3; text-align:center; overflow-wrap:anywhere; cursor:pointer; text-transform:none; box-shadow:none; }
.cvig .cvig-chip { box-sizing:border-box; flex-shrink:0; display:block; width:var(--cvig-size,32px); height:var(--cvig-size,32px); max-width:100%; object-fit:cover; margin:0; border:1px solid #888; border-radius:3px; box-shadow:inset 0 0 0 2px #fff; }
form.variations_form table.variations tr.cvig-row { display:flex!important; flex-direction:column; width:100%; box-sizing:border-box; }
form.variations_form table.variations tr.cvig-row > th.label,
form.variations_form table.variations tr.cvig-row > td.label,
form.variations_form table.variations tr.cvig-row > td.value { display:block!important; float:none!important; width:100%!important; max-width:none!important; box-sizing:border-box; text-align:left!important; padding-left:0!important; padding-right:0!important; }
.cvig .cvig-choice[aria-pressed="true"] { border-color:#333; background:#f3f3f3; }
.cvig .cvig-choice:focus-visible { outline:3px solid #2463dc; outline-offset:2px; }
.cvig .cvig-choice:hover,
.cvig .cvig-choice:hover > span:not(.cvig-chip) { color:#000!important; }
.cvig .cvig-choice:disabled { opacity:.35; cursor:not-allowed; text-decoration:line-through; }
.cvig select.cvig-native { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
.cvig select.cvig-native:focus { position:static!important; width:auto!important; height:auto!important; margin:0!important; clip:auto!important; }

/* Compact groups: override theme table striping and cell spacing. */
form.variations_form table.variations tr.cvig-row {
    background:transparent!important;
    border:0!important;
    border-bottom:1px solid #e9e5e1!important;
    padding:0 0 20px!important;
    margin:0 0 20px!important;
    min-height:0!important;
    height:auto!important;
    box-shadow:none!important;
}
form.variations_form table.variations tr.cvig-row > th.label,
form.variations_form table.variations tr.cvig-row > td.label,
form.variations_form table.variations tr.cvig-row > td.value {
    background:transparent!important;
    border:0!important;
    padding:0!important;
    margin:0!important;
    height:auto!important;
    min-height:0!important;
    box-shadow:none!important;
}
form.variations_form table.variations tr.cvig-row .label label {
    display:block;
    margin:0 0 12px!important;
    padding:0!important;
    font-size:15px;
    font-weight:600;
    line-height:1.5;
    color:#252525;
}
.cvig .cvig-list { margin:0!important; gap:12px; align-items:stretch; }
.cvig .cvig-choice {
    padding:10px 6px!important;
    gap:8px;
    border:1px solid transparent!important;
    border-radius:8px;
    background:transparent!important;
    color:#000!important;
    font-size:12px;
    line-height:1.4;
    transition:border-color .15s ease, background-color .15s ease;
}
.cvig .cvig-choice > span:not(.cvig-chip) { color:#000!important; font-style:normal; }
.cvig .cvig-choice .cvig-chip {
    border:1px solid #d0ccc7;
    border-radius:5px;
    box-shadow:none;
}
.cvig .cvig-choice:hover:not(:disabled) { background:#faf8f5!important; border-color:#d8d1c9!important; }
.cvig .cvig-choice[aria-pressed="true"],
.cvig .cvig-choice[aria-pressed="true"]:hover:not(:disabled) {
    border-color:#333!important;
    background:#f7f5f2!important;
}
@media (prefers-reduced-motion:reduce) {
    .cvig .cvig-choice { transition:none; }
}
