/* A small, local-only way to try the concept in a visitor's own colours. */
.demo-customizer{margin:-10px 0 27px;border-block:1px solid var(--line);color:var(--ink)}
.demo-customizer summary{display:flex;align-items:center;gap:9px;min-height:48px;padding:10px 0;list-style:none;cursor:pointer;font-size:12px;font-weight:700;line-height:1.5}
.demo-customizer summary::-webkit-details-marker{display:none}
.demo-customizer summary:focus-visible{outline:2px solid var(--orange);outline-offset:3px;border-radius:3px}
.customizer-summary-mark{color:var(--orange-dark);font-size:19px;line-height:1}
.customizer-chevron{font-size:19px;line-height:1;margin-left:auto;font-weight:400;transition:transform .3s cubic-bezier(.16,1,.3,1)}
.demo-customizer[open] .customizer-chevron{transform:rotate(45deg)}
.customizer-fields{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:17px 18px;padding:0 0 18px;min-width:0}
.customizer-hint{grid-column:1/-1;font-size:11px;line-height:1.7;color:var(--soft-ink);max-width:44ch;margin:0}
.customizer-name{min-width:0}
.customizer-name label,.customizer-palette legend{display:block;font-size:10px;font-weight:700;line-height:1.6;color:var(--soft-ink);padding:0;margin:0 0 7px}
.customizer-name input{display:block;width:100%;min-width:0;min-height:44px;padding:10px 12px;border:1px solid var(--line);border-radius:6px;background:var(--paper);color:var(--ink);font:500 14px/1.4 var(--body,'Manrope',sans-serif);box-shadow:none}
.customizer-name input:focus-visible{outline:2px solid var(--orange);outline-offset:2px}
.customizer-palette{border:0;padding:0;margin:0;min-width:0}
.customizer-swatches{display:flex;align-items:center;gap:2px}
.customizer-swatch{position:relative;display:grid;place-items:center;width:40px;height:44px;cursor:pointer;border-radius:6px}
.customizer-swatch input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.swatch-dot{width:27px;height:27px;border-radius:50%;box-shadow:inset 0 0 0 1px #29282433;position:relative;pointer-events:none;display:grid;place-items:center}
.swatch-charcoal{background:#30302e;color:#f4ebd9}.swatch-orange{background:#c54120;color:#fff5e5}.swatch-ivory{background:#f0dfc6;color:#38312b}
.customizer-swatch input:checked+.swatch-dot{outline:1px solid var(--ink);outline-offset:3px}
.customizer-swatch input:checked+.swatch-dot::after{content:'✓';font-size:14px;font-weight:700;line-height:1}
.customizer-swatch input:focus-visible+.swatch-dot{outline:3px solid var(--orange);outline-offset:4px}
.customizer-footer{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:-6px;min-width:0}
.customizer-color-name{font-size:10px;color:var(--soft-ink);line-height:1.5}
#reset-demo-style{font-size:10px;line-height:1.5;min-height:34px;padding:7px 0 7px 8px;text-decoration:underline;text-underline-offset:4px;color:var(--soft-ink)}
#reset-demo-style:hover{color:var(--ink)}
.product-page .demo-brand-name{display:block;font:inherit;line-height:.98;letter-spacing:inherit;max-width:calc(100% - 42px);overflow-wrap:anywhere;text-wrap:balance}
.product-page .demo-brand-name.is-cyrillic{font-family:'Manrope',sans-serif;line-height:1.08;letter-spacing:-1.3px}
.product-page .demo-brand-name.is-long-name{font-size:28px;line-height:1.12;letter-spacing:-1px}
.product-page .demo-brand-name.is-longest-name{font-size:23px;letter-spacing:-.65px}

.demo-loyalty-card[data-palette]{--card-paper:#2d2d2b;--card-ink:#f4ebd9;--card-muted:#e4dccc;--card-edge:#55514b;--stamp-paper:#f0dfc6;--stamp-ink:#30302e;--stamp-edge:#a5a09480;--meter-ink:#ed8458;--meter-track:#f0dfc62e;--reward-edge:#e5996c;--card-detail:#eece9c24}
.demo-loyalty-card[data-palette=orange]{--card-paper:#b83d21;--card-ink:#fff3df;--card-muted:#ffebd2;--card-edge:#cd6d48;--stamp-paper:#fff0d8;--stamp-ink:#8d2b17;--stamp-edge:#ffebd299;--meter-ink:#fff0d8;--meter-track:#fff0d845;--reward-edge:#ffe1ac;--card-detail:#ffe1ac35}
.demo-loyalty-card[data-palette=ivory]{--card-paper:#f0dfc6;--card-ink:#38312b;--card-muted:#55483c;--card-edge:#c6ac8c;--stamp-paper:#38312b;--stamp-ink:#f9e9d3;--stamp-edge:#79665399;--meter-ink:#a7381c;--meter-track:#79665335;--reward-edge:#a7381c;--card-detail:#79665328}
html .product-page .demo-loyalty-card[data-palette]{background:var(--card-paper);color:var(--card-ink);border-color:var(--card-edge)}
html .product-page .demo-loyalty-card[data-palette]::after{border-color:var(--card-detail)}
html .product-page .demo-loyalty-card[data-palette] .demo-stamp{border-color:var(--stamp-edge);color:var(--card-muted)}
html .product-page .demo-loyalty-card[data-palette] .demo-stamp.filled{background:var(--stamp-paper);border-color:var(--stamp-paper);color:var(--stamp-ink)}
html .product-page .demo-loyalty-card[data-palette] .demo-progress,html .product-page .demo-loyalty-card[data-palette] #stamp-status{color:var(--card-muted)}
html .product-page .demo-loyalty-card[data-palette] .demo-progress-track{background:var(--meter-track)}
html .product-page .demo-loyalty-card[data-palette] .demo-progress-fill{background:var(--meter-ink)}
html .product-page .demo-loyalty-card[data-palette] .demo-reward-mark{color:var(--meter-ink);border-color:var(--card-detail)}
html .product-page .demo-loyalty-card[data-palette].reward-ready{border-color:var(--reward-edge)}
html .product-page .demo-loyalty-card[data-palette].reward-ready .demo-progress-gift{color:var(--meter-ink)}

@media(max-width:700px){.customizer-name input{font-size:16px}.customizer-fields{gap:14px}.customizer-swatch{width:42px}.demo-customizer{margin-top:-9px}}
@media(max-width:420px){.customizer-fields{grid-template-columns:1fr}.customizer-name,.customizer-palette{grid-column:1}.customizer-palette{display:flex;align-items:center;gap:15px}.customizer-palette legend{float:left;max-width:calc(100% - 145px);padding-top:14px;margin:0}.customizer-swatches{margin-left:auto}.product-page .demo-brand-name.is-long-name{font-size:25px}.product-page .demo-brand-name.is-longest-name{font-size:21px}}
.motion-paused .customizer-chevron{transition:none}
@media(prefers-reduced-motion:reduce){.customizer-chevron{transition:none}}
