.spo-fields{--spo-accent:var(--wp--preset--color--primary, #1d4ed8);--spo-border:#d1d5db;--spo-radius:8px;--spo-error:#b91c1c;--spo-bg-soft:#f7f7f8;display:block;margin:1.25em 0;width:100%;max-width:100%;flex:1 1 100%;grid-column:1 / -1}.spo-group{border:0;padding:0;margin:0 0 1.5em;min-inline-size:0}.spo-group__title{font-size:1.05em;font-weight:600;margin:0 0 .25em}.spo-group__description{margin:0 0 .75em;font-size:.92em;opacity:.8}.spo-field{margin:0 0 1.1em}.spo-field[hidden]{display:none!important}.spo-field__fieldset{border:0;padding:0;margin:0;min-inline-size:0}.spo-field__legend{float:none;width:auto}.spo-field__label,.spo-field__legend{display:block;font-weight:600;font-size:.95em;margin:0 0 .35em;padding:0}.spo-field__required{color:var(--spo-error);margin-inline-start:.15em}.spo-field__description{font-size:.85em;opacity:.75;margin:.25em 0 .4em}.spo-price-tag{font-weight:500;font-size:.88em;color:var(--spo-accent);white-space:nowrap;margin-inline-start:.4em}.spo-field input[type="text"],.spo-field input[type="number"],.spo-field input[type="date"],.spo-field select,.spo-field textarea{width:100%;max-width:26rem;min-height:44px;padding:.5em .75em;border:1px solid var(--spo-border);border-radius:var(--spo-radius);background:#fff;font:inherit;color:inherit;box-sizing:border-box}.spo-field select{appearance:none;-webkit-appearance:none;-moz-appearance:none;padding-inline-end:2.4em;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23555' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 6l4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75em center;background-size:1em 1em;cursor:pointer}.spo-field select::-ms-expand{display:none}[dir="rtl"] .spo-field select{background-position:left .75em center}.spo-field textarea{max-width:100%;min-height:6em}.spo-field input:focus-visible,.spo-field select:focus-visible,.spo-field textarea:focus-visible,.spo-field [type="checkbox"]:focus-visible,.spo-field [type="radio"]:focus-visible{outline:2px solid var(--spo-accent);outline-offset:2px}.spo-field input[aria-invalid="true"],.spo-field select[aria-invalid="true"],.spo-field textarea[aria-invalid="true"]{border-color:var(--spo-error)}.spo-stepper{display:inline-flex;align-items:stretch;border:1px solid var(--spo-border);border-radius:var(--spo-radius);overflow:hidden;background:#fff}.spo-stepper input[type="number"]{border:0;border-radius:0;width:4.5rem;text-align:center;min-height:44px;-moz-appearance:textfield;appearance:textfield}.spo-stepper input::-webkit-outer-spin-button,.spo-stepper input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.spo-stepper__btn{inline-size:44px;min-height:44px;border:0;background:var(--spo-bg-soft);font-size:1.2em;line-height:1;cursor:pointer;color:inherit;touch-action:manipulation}.spo-stepper__btn:hover{background:#ececee}.spo-stepper__btn:focus-visible{outline:2px solid var(--spo-accent);outline-offset:-2px}.spo-choices{display:flex;flex-direction:column;gap:.4em;margin:0;padding:0;list-style:none}.spo-choices--inline{flex-direction:row;flex-wrap:wrap;gap:.5em}.spo-choice{display:flex;align-items:center;gap:.6em;padding:.55em .8em;border:1px solid var(--spo-border);border-radius:var(--spo-radius);cursor:pointer;background:#fff;transition:border-color 0.15s,background 0.15s;min-height:44px;box-sizing:border-box}.spo-choice:hover{border-color:var(--spo-accent)}.spo-choice:has(:checked){border-color:var(--spo-accent);background:color-mix(in srgb,var(--spo-accent) 6%,#fff)}.spo-choice input{inline-size:1.15em;block-size:1.15em;margin:0;accent-color:var(--spo-accent);flex:none}.spo-choice__label{flex:1;min-width:0}.spo-swatches{display:flex;flex-wrap:wrap;gap:.6em;margin:0;padding:0;list-style:none}.spo-swatch{position:relative;display:flex;flex-direction:column;align-items:center;gap:.3em;cursor:pointer;max-width:5.5rem;text-align:center;font-size:.8em}.spo-swatch input{position:absolute;opacity:0;inline-size:100%;block-size:100%;inset:0;margin:0;cursor:pointer}.spo-swatch__visual{inline-size:48px;block-size:48px;border-radius:50%;border:2px solid var(--spo-border);box-sizing:border-box;background-size:cover;background-position:center}.spo-swatch--image .spo-swatch__visual{inline-size:72px;block-size:72px;border-radius:var(--spo-radius)}.spo-swatch__visual img{inline-size:100%;block-size:100%;object-fit:cover;border-radius:inherit;display:block}.spo-swatch:has(:checked) .spo-swatch__visual{border-color:var(--spo-accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--spo-accent) 35%,transparent)}.spo-swatch:has(:focus-visible) .spo-swatch__visual{outline:2px solid var(--spo-accent);outline-offset:2px}.spo-products{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:.75em;margin:0;padding:0;list-style:none}.spo-product-card{display:flex;align-items:center;flex-wrap:wrap;gap:.6em .75em;border:1px solid var(--spo-border);border-radius:var(--spo-radius);padding:.75em;background:#fff;cursor:pointer;transition:border-color 0.15s,box-shadow 0.15s}.spo-product-card:hover{border-color:var(--spo-accent)}.spo-product-card .spo-stepper{margin-inline-start:auto}.spo-product-card:has(input:checked),.spo-product-card.spo-product-card--active{border-color:var(--spo-accent);background:color-mix(in srgb,var(--spo-accent) 5%,#fff)}.spo-product-card__thumb{inline-size:56px;block-size:56px;flex:none;border-radius:calc(var(--spo-radius) - 2px);object-fit:cover;background:var(--spo-bg-soft)}.spo-product-card__body{flex:1;min-width:0;font-size:.9em}.spo-product-card__name{font-weight:600;display:block;margin-bottom:.15em}.spo-upload__drop{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.4em;padding:1.25em;border:2px dashed var(--spo-border);border-radius:var(--spo-radius);background:var(--spo-bg-soft);cursor:pointer;text-align:center;transition:border-color 0.15s}.spo-upload__drop:hover,.spo-upload__drop.spo-upload--over{border-color:var(--spo-accent)}.spo-upload__file{display:flex;align-items:center;gap:.6em;margin-top:.5em;font-size:.9em}.spo-upload__remove{border:0;background:none;color:var(--spo-error);cursor:pointer;text-decoration:underline;font-size:.85em;min-height:44px}.spo-charcount{font-size:.78em;opacity:.7;margin-top:.2em}.spo-field__error{display:none;color:var(--spo-error);font-size:.85em;margin-top:.3em;font-weight:500}.spo-field__error:not(:empty){display:block}.spo-total{display:grid;grid-template-columns:auto 1fr;align-items:baseline;column-gap:.6em;margin:1.1em 0;padding:.65em 0;border-top:1px solid var(--spo-border);border-bottom:1px solid var(--spo-border)}.spo-total__label{font-weight:600;font-size:.95em}.spo-total__amount{font-size:1.35em;font-weight:700;justify-self:end;transition:opacity 0.12s}.spo-total__detail{grid-column:1 / -1;font-size:.82em;opacity:.7}.spo-total--unavailable .spo-total__amount{color:var(--spo-error)}.spo-total--unavailable .spo-total__detail{color:var(--spo-error);opacity:1}.spo-field--heading h3,.spo-field--heading h4{margin:1em 0 .5em}.spo-field--heading hr{border:0;border-top:1px solid var(--spo-border);margin:1.25em 0}.spo-calc-output{display:inline-block;font-weight:600;font-size:1.05em;padding:.15em 0}.spo-lookup-table{overflow-x:auto}@media (max-width:480px){.spo-products{grid-template-columns:1fr}.spo-field input[type="text"],.spo-field input[type="number"],.spo-field input[type="date"],.spo-field select{max-width:100%}}