#storefrontVisitorPicker{--svp-clearance:20px;--svp-color:var(--theme-primary,#4154f1);font-family:system-ui,sans-serif;color:var(--theme-text,#172038);}
#storefrontVisitorPicker[hidden]{display:none;}
#storefrontVisitorPicker .svp-launcher{position:fixed;right:max(16px,env(safe-area-inset-right));bottom:calc(var(--svp-clearance) + env(safe-area-inset-bottom));z-index:1030;width:46px;height:46px;padding:0;border:1px solid var(--theme-border,#dce2ec);border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--theme-surface,#fff);color:var(--svp-color);box-shadow:0 5px 20px #0002;cursor:pointer;}
.svp-dialog{box-sizing:border-box;position:fixed;inset:auto max(16px,env(safe-area-inset-right)) calc(var(--svp-clearance) + 58px + env(safe-area-inset-bottom)) auto;margin:0;padding:0;width:min(360px,calc(100vw - 32px));max-height:calc(100dvh - var(--svp-clearance) - 90px);overflow:hidden;border:1px solid var(--theme-border,#dce2ec);border-radius:16px;background:var(--theme-surface,#fff);color:var(--theme-text,#172038);box-shadow:0 18px 60px #0003;}
.svp-dialog[open]{display:flex;flex-direction:column;}
.svp-dialog::backdrop{background:#09112670;}
.svp-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px 0;flex-shrink:0;}
.svp-heading h2{font:700 18px/1.3 system-ui,sans-serif;margin:0;color:inherit;}
.svp-heading .svp-close{border:0;background:none;color:inherit;font-size:26px;line-height:1;width:32px;height:32px;padding:0;cursor:pointer;}
.svp-dialog p{margin:0;padding:0 12px 10px;font:400 12px/1.4 system-ui,sans-serif;color:var(--theme-text-muted,#667085);flex-shrink:0;}
.svp-form{display:flex;flex-direction:column;min-height:0;overflow:hidden;}
.svp-choices{overflow-y:auto;overscroll-behavior:contain;min-height:0;padding:5px 12px 10px;}
.svp-options{display:grid;gap:6px;margin:0;padding:0;border:0;min-width:0;}
.svp-option{box-sizing:border-box;display:flex;align-items:center;gap:8px;min-height:44px;padding:7px 9px;border:1px solid var(--theme-border,#dce2ec);border-radius:9px;cursor:pointer;}
.svp-option:has(input:checked){border-color:var(--theme-primary,#4154f1);box-shadow:inset 0 0 0 1px var(--theme-primary,#4154f1);}
.svp-option input{appearance:auto!important;position:static!important;width:16px!important;height:16px!important;margin:0!important;flex-shrink:0;accent-color:var(--theme-primary,#4154f1);}
.svp-option strong{display:block;font:650 13px/1.35 system-ui,sans-serif;color:inherit;}
.svp-option small{display:block;font:400 10px/1.35 system-ui,sans-serif;color:var(--theme-text-muted,#667085);margin-top:1px;}
.svp-swatch{box-sizing:border-box;display:grid;grid-template-columns:1.4fr 1fr;align-content:end;gap:3px;flex:0 0 38px;height:28px;padding:3px;background:var(--svp-muted);border-top:6px solid var(--svp-accent);border-radius:5px;}
.svp-swatch span{display:block;height:12px;background:#fff;border-radius:2px;border:1px solid #0001;}
.svp-actions{position:sticky;bottom:0;display:flex;gap:8px;flex-shrink:0;padding:10px 12px;background:var(--theme-surface,#fff);border-top:1px solid var(--theme-border,#dce2ec);}
.svp-actions button{flex:1;min-height:40px;white-space:nowrap;font:600 12px/1.4 system-ui,sans-serif;padding:8px;border-radius:8px;cursor:pointer;}
.svp-reset{background:transparent;color:var(--theme-text,#172038);border:1px solid var(--theme-border,#dce2ec);}
.svp-apply{background:var(--theme-primary,#4154f1);color:var(--theme-on-primary,#fff);border:1px solid transparent;}
.svp-dialog .svp-status{padding:6px 12px;background:var(--theme-surface,#fff);}
.svp-status[hidden]{display:none;}
.svp-sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;}
#storefrontVisitorPicker button:focus-visible,.svp-option:focus-within{outline:2px solid var(--theme-primary,#4154f1);outline-offset:3px;}
.svp-actions button:disabled{opacity:.6;cursor:wait;}
@media(max-height:480px){.svp-dialog{bottom:calc(var(--svp-clearance) + 12px + env(safe-area-inset-bottom));max-height:calc(100dvh - var(--svp-clearance) - 36px);}}
