.s5sg-variant-table { margin: 1em 0; width: 100%; }
.s5sg-variant-head, .s5sg-variant-row { display: grid; grid-template-columns: minmax(120px,1.2fr) minmax(120px,1.2fr) minmax(100px,.8fr) auto; gap: 12px; align-items: center; padding: 12px; border-bottom: 1px solid #e4e4e4; }
.s5sg-variant-head { background: #f7f7f7; font-weight: 700; }
.s5sg-variant-name small, .s5sg-variant-coating small { display: block; color: #777; margin-top: 3px; }
.s5sg-variant-price del, .s5sg-variant-price strong { display: block; }
.s5sg-variant-price strong { color: #e85d1f; font-size: 1.15em; }
.s5sg-variant-row form { margin: 0; }
.s5sg-variant-row .button { white-space: nowrap; }
.s5sg-variant-table.is-simple .s5sg-variant-head, .s5sg-variant-table.is-simple .s5sg-variant-row { grid-template-columns: minmax(0,1fr) auto auto; }
.s5sg-variant-table.is-simple .s5sg-variant-coating, .s5sg-variant-table.is-simple .s5sg-variant-head span:nth-child(2) { display: none; }
.s5sg-direction { margin: 0 0 1.2em; }
.s5sg-direction .s5-options__label { display: block; font-weight: 700; margin-bottom: 8px; }
.s5sg-direction .s5-options__choices { display: flex; flex-wrap: wrap; gap: 8px; }
.s5sg-direction .s5-options__choice { display: flex; align-items: center; gap: 8px; padding: 8px 12px; border: 1px solid #ddd; border-radius: 6px; cursor: pointer; }
.s5sg-direction .s5-options__choice:has(input:checked) { border-color: #e85d1f; }
.single-wrap .buy .s5sg-direction .s5-options__group { margin-top: 0; }
.s5sg-loop-sizes { display: flex; flex-wrap: wrap; gap: 6px; justify-content: center; }
.s5sg-size-chip { border: 1px solid #ddd; background: #fff; border-radius: 4px; padding: 6px 9px; cursor: pointer; }
.s5sg-choose { flex-basis: 100%; }
.s5sg-dialog { width: min(760px, calc(100% - 30px)); max-height: 85vh; border: 0; border-radius: 8px; padding: 24px; box-shadow: 0 12px 45px rgba(0,0,0,.25); }
.s5sg-dialog::backdrop { background: rgba(0,0,0,.55); }
.s5sg-dialog-close { position: absolute; right: 12px; top: 8px; border: 0; background: transparent; font-size: 30px; cursor: pointer; }
@media (max-width: 640px) { .s5sg-variant-head { display:none; } .s5sg-variant-row { grid-template-columns: 1fr auto; } .s5sg-variant-coating { grid-column: 1 / -1; } }
