.card .card-photo.creative-cover{background:#f4f0e7}
.card .card-photo.creative-cover img{padding:0;object-fit:contain}
.card[data-product=mug] .card-photo.creative-cover{background:#fcfaf5}
.card[data-product=tshirt] .card-photo.creative-cover{background:#eee9dd}
.card[data-product=bandana] .card-photo.creative-cover{background:#ecefe5}
.card[data-product=wall] .card-photo.creative-cover{background:#f1ece1}
.card[data-product=puzzle] .card-photo.creative-cover{background:#f2eee5}
.creative-label{position:absolute;left:12px;top:12px;border:1px solid #ffffffb3;background:#fffdf4d9;border-radius:20px;padding:5px 9px;color:#64786a;font-size:10px;letter-spacing:.5px;pointer-events:none}
@media(max-width:650px){.creative-label{left:8px;top:8px;font-size:9px;padding:4px 7px}}

.card{align-self:start}
.card-open{display:block;width:100%;border:0;padding:0;background:none;text-align:left;border-radius:14px}
.card-colors{display:flex;flex-direction:column;gap:6px;margin-top:12px;padding-top:10px;border-top:1px solid #dce0d480}
.card-colors-label{font-size:10px;color:#747b70;line-height:1.5;letter-spacing:.2px}
.card-selected-color{color:#294b43}
.card-color-dots{display:flex;flex-wrap:wrap;align-items:center;gap:3px;min-width:0}
.card-color-choice{display:grid;place-items:center;flex:0 0 28px;width:28px;height:28px;border:1px solid transparent;background:none;border-radius:50%;padding:4px;touch-action:manipulation}
.card-color-dot{display:block;flex:0 0 16px;width:16px;height:16px;border-radius:50%;background:var(--swatch);box-shadow:inset 0 0 0 1px #294b4326;pointer-events:none}
.card-color-choice[aria-pressed=true]{border-color:#28685b;background:#eef2e9}
.card-color-choice:hover{background:#e9eee4}
.card-color-choice:focus-visible{outline:2px solid #28685b;outline-offset:2px}
.card-colors-fixed{flex-direction:row;align-items:center;gap:8px}
.card-color-error:empty{display:none}
.card-color-error{font-size:11px;color:#a84c39}
.card-photo[aria-busy=true]::after{content:'换色中…';position:absolute;bottom:10px;left:10px;padding:4px 8px;border-radius:10px;background:#fffdf4e8;color:#294b43;font-size:10px}
@media(max-width:650px){.card-colors{margin-top:10px;padding-top:8px}.card-color-dots{gap:4px}.card-color-choice{flex-basis:30px;width:30px;height:30px}.card-colors-label{font-size:10px}}
