.colour-controls[hidden]{display:none}
.colour-controls{margin:12px 0 16px;min-width:0}
.colour-heading{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;margin-bottom:7px}
.colour-heading p{font-size:.75rem;line-height:1.5;margin:0;min-width:0}
.colour-current{font-weight:650}
.colour-fit{display:flex;align-items:center;gap:7px;font-size:.75rem;white-space:nowrap}
.colour-fit select{min-height:44px;max-width:150px;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:5px;padding:5px 26px 5px 8px;font:inherit}
.colour-swatches{display:flex;gap:6px;flex-wrap:wrap}
.colour-swatch{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:5px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--ink);cursor:pointer}
.colour-swatch::before{content:'';width:26px;height:26px;border-radius:50%;border:1px solid #777;background:linear-gradient(135deg,var(--swatch-a) 49.5%,var(--swatch-b) 50.5%)}
.colour-swatch[aria-pressed=true]{border:2px solid var(--ink);padding:4px;box-shadow:0 0 0 2px var(--surface),0 0 0 3px var(--ink)}
.colour-swatch:hover{border-color:var(--red)}
.colour-swatch:focus-visible,.colour-fit select:focus-visible{outline:2px solid var(--red);outline-offset:4px}
.colour-controls[data-colour-scope=card]{margin:4px 0 9px}
.card:has(>.colour-controls:not([hidden])){grid-template-rows:1fr auto auto 1.4em}
.card:has(>.colour-controls:not([hidden]))>.colour-controls{grid-row:2}
.card:has(>.colour-controls:not([hidden]))>.card-actions{grid-row:3}
.card:has(>.colour-controls:not([hidden]))>.card-unavailable{grid-row:4}
.colour-controls[data-colour-scope=card] .colour-heading{margin:0;min-height:2.9em;align-items:flex-start}
.colour-controls[data-colour-scope=card] .colour-heading p{font-size:.6875rem;line-height:1.4}
.colour-controls[data-colour-scope=card] .colour-fit{display:none}
.colour-controls[data-colour-scope=card] .colour-swatches{gap:5px;flex-wrap:nowrap;overflow-x:auto;padding:4px 3px 4px;scrollbar-width:thin}
.colour-controls[data-colour-scope=card] .colour-swatch{flex:none}
.buy-box>.colour-controls{padding-bottom:13px;border-bottom:1px solid var(--line)}
.product-photo img.is-loading,.card-image img.is-loading,.image-dialog img.is-loading{opacity:0}
.image-pending{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:.75rem;color:var(--muted);pointer-events:none;background:var(--surface);padding:18px;text-align:center}
.image-pending[hidden]{display:none}
.image-pending::before{content:'';width:15px;height:15px;border:2px solid var(--line);border-top-color:var(--ink);border-radius:50%;margin-right:8px;animation:colour-spin .8s linear infinite}
@keyframes colour-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.image-pending::before{animation:none}}
@media(max-width:760px){.colour-heading{align-items:flex-start}.colour-heading p{font-size:.6875rem}.colour-controls[data-colour-scope=product] .colour-heading p{min-height:3em;flex:1}.colour-fit{font-size:.6875rem}.colour-fit select{max-width:124px}.colour-controls[data-colour-scope=card] .colour-heading{min-height:3em}}
