/* ColorPicker - selector de color front */
.colorpicker-selector{margin:20px 0;padding:18px;border:1px solid #e0e0e0;border-radius:8px;background:#fafafa}
.cp-label{margin-bottom:14px}
.cp-label span{font-size:15px;font-weight:600;color:#333}
.cp-hint{display:block;font-size:12px;color:#888;margin-top:2px}
.cp-colors-list{display:flex;flex-direction:column;gap:10px}
.cp-color-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.cp-color-dot{display:inline-block;width:20px;height:20px;border-radius:50%;border:1px solid rgba(0,0,0,.15);flex-shrink:0}
.cp-color-dot.cp-dot-unavailable{opacity:.3}
.cp-color-btn{display:flex;align-items:center;gap:8px;padding:8px 16px;border:2px solid #ccc;border-radius:6px;background:#fff;font-size:14px;cursor:pointer;transition:border-color .15s,background .15s;min-width:140px}
.cp-color-btn:hover:not(:disabled){border-color:#555;background:#f0f0f0}
.cp-color-btn.selected{border-color:#2c7be5;background:#e8f0fd;color:#1a4f9e}
.cp-color-btn.cp-unavailable,.cp-color-btn:disabled{opacity:.45;cursor:not-allowed;border-color:#ddd;color:#aaa}
.cp-stock-badge{font-style:normal;font-size:11px;padding:2px 7px;border-radius:20px;margin-left:auto}
.cp-stock-badge.cp-out{background:#fde8e8;color:#c0392b}
.cp-qty-control{display:flex;align-items:center;gap:4px}
.cp-qty-btn{width:30px;height:30px;border:1px solid #ccc;border-radius:4px;background:#fff;font-size:18px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}
.cp-qty-btn:hover{background:#e9e9e9}
.cp-qty-input{width:54px;height:30px;text-align:center;border:1px solid #ccc;border-radius:4px;font-size:14px}
.cp-summary{margin-top:16px;padding:12px;background:#eaf3fd;border-radius:6px;border:1px solid #b8d8f8}
.cp-summary strong{font-size:13px;color:#1a4f9e}
.cp-summary ul{margin:6px 0 0;padding-left:18px}
.cp-summary li{font-size:13px;color:#333}
.cp-message{margin-top:10px;font-size:13px}
.cp-message.success{color:#1a7a4a}
.cp-message.error{color:#c0392b}
.cp-confirm-btn{margin-top:14px}
