.product-personalizer{display:block;margin:0 0 24px;width:100%}
.product-personalizer__panel{background:var(--color-background,#fff);padding:0}
.product-personalizer__title{font-size:16px;font-weight:700;letter-spacing:.01em;line-height:1.3;margin:0}
.product-personalizer__description{font-size:13px;line-height:1.5;margin:6px 0 16px;opacity:.72}

.product-personalizer__choice{border:0;display:flex;flex-wrap:wrap;column-gap:28px;row-gap:10px;margin:0 0 18px;padding:0}
.product-personalizer__option{align-items:center;cursor:pointer;display:flex;gap:9px}
.product-personalizer__option span{font-size:14px;font-weight:600}
.product-personalizer__option input[type=radio]{appearance:none;-webkit-appearance:none;background:#fff;border:1.5px solid #111;border-radius:50%;cursor:pointer;flex:0 0 auto;height:18px;margin:0;width:18px}
.product-personalizer__option input[type=radio]:checked{background:#111}
.product-personalizer__option input[type=radio]:focus-visible{outline:2px solid #111;outline-offset:2px}

.product-personalizer__roster{margin:0 0 18px}
.product-personalizer__roster[hidden]{display:none}
.product-personalizer__roster-select{appearance:none;-webkit-appearance:none;background-color:#fff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23111111' stroke-width='1.4' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 16px center;background-repeat:no-repeat;background-size:11px;border:1px solid #111;border-radius:0;color:#111;font-size:14px;font-weight:600;min-height:52px;padding:14px 40px 14px 16px;width:100%}
.product-personalizer__roster-select:focus-visible{outline:2px solid #111;outline-offset:2px}

.product-personalizer__fields{display:block;margin:0 0 4px}
.product-personalizer__fields[hidden]{display:none}
.product-personalizer__row{display:flex;gap:12px}
.product-personalizer__field{background:#fff;border:1px solid #d7d7d7;border-radius:2px;box-sizing:border-box;display:flex;flex-direction:column;height:70px;min-width:0;padding:8px 12px 6px}
.product-personalizer__field:focus-within{border:2px solid #111;padding:7px 11px 5px}
.product-personalizer__field--number{flex:0 0 28%}
.product-personalizer__field--name{flex:1;min-width:0}
.product-personalizer__field-head{display:flex;flex:0 0 auto;font-size:10px;gap:8px;justify-content:space-between;line-height:1.2}
.product-personalizer__field-head label{color:#8a8a8a;cursor:pointer;font-weight:600}
.product-personalizer__field-head>span:last-child{color:#8a8a8a;white-space:nowrap}
.product-personalizer__field input[type=text]{background:transparent;border:0;color:#333;flex:1;font-size:17px;font-weight:600;min-height:0;padding:0;width:100%}
.product-personalizer__field input[type=text]::placeholder{color:#c9c9c9}
.product-personalizer__field input:focus-visible{outline:none}

.product-personalizer__extras{display:grid;gap:12px;margin-top:4px}
.product-personalizer__extras[hidden]{display:none}
.product-personalizer__extras-row{align-items:center;display:flex;flex-wrap:wrap;gap:10px}
.product-personalizer__compact-select{flex:1 1 120px;min-width:0}
.product-personalizer__compact-select select{background:transparent;border:1px solid var(--color-border,#bbb);border-radius:4px;color:inherit;font-size:13px;min-height:38px;padding:6px 10px;width:100%}
.product-personalizer__compact-select select:focus-visible{outline:2px solid currentColor;outline-offset:1px}

.product-personalizer__error{color:#b42318;font-size:12px;margin:6px 0 0}
.product-personalizer__confirm{align-items:flex-start;cursor:pointer;display:flex;font-size:13px;gap:10px;line-height:1.45}
.product-personalizer__confirm input{margin-top:3px}
.product-personalizer__policy{font-size:12px;line-height:1.5;margin:0;opacity:.65}
.product-personalizer__status{font-size:12px;margin:8px 0 0}
.product-personalizer__status.is-error{color:#b42318}
.product-personalizer__swatches{align-items:center;display:flex;flex-wrap:wrap;gap:6px;row-gap:6px}
.product-personalizer__swatches label{cursor:pointer}
.product-personalizer__swatches input{height:1px;opacity:0;position:absolute;width:1px}
.product-personalizer__swatches label>span{background:var(--swatch);border:2px solid #fff;border-radius:50%;box-shadow:0 0 0 1px #999;display:block;height:22px;width:22px}
.product-personalizer__swatches input:checked+span{box-shadow:0 0 0 2px currentColor}
.product-personalizer__preview-canvas{object-fit:contain;opacity:0;pointer-events:none;position:absolute;transition:opacity .18s ease;visibility:hidden;z-index:20}
.product-personalizer__preview-canvas.is-active.is-slide-visible{opacity:1;visibility:visible}
.product-personalizer__missing{background:var(--color-background,#fff);border:1px dashed var(--color-border,#bbb);border-radius:8px;color:inherit;font-size:12px;line-height:1.5;margin:0 0 14px;opacity:.75;padding:10px 12px}
.product-personalizer__surcharge{display:block;font-size:12px;font-weight:600;margin:2px 0 12px;opacity:.75}
@media(max-width:380px){.product-personalizer__field--number{flex-basis:32%}.product-personalizer__field input[type=text]{font-size:16px}}
